This commit is contained in:
parent
5cffe1fe3f
commit
ef4c9fe57c
@ -12,10 +12,15 @@ use Illuminate\Support\Facades\DB;
|
||||
class JurisdictionParkingController extends Controller
|
||||
{
|
||||
public function list(Request $request)
|
||||
{
|
||||
$list = JurisdictionParking::query()->paginate(20);
|
||||
return view('admin.jurisdiction_parkings.list', compact('list'));
|
||||
}
|
||||
{
|
||||
|
||||
$sort = $request->input('sort', 'jurisdiction_parking_id');
|
||||
$sort_type = $request->input('sort_type', 'asc');
|
||||
|
||||
$list = JurisdictionParking::orderBy($sort, $sort_type)->paginate(20);
|
||||
|
||||
return view('admin.jurisdiction_parkings.list', compact('list', 'sort', 'sort_type'));
|
||||
}
|
||||
|
||||
public function add(Request $request)
|
||||
{
|
||||
@ -37,9 +42,9 @@ class JurisdictionParkingController extends Controller
|
||||
}
|
||||
|
||||
|
||||
public function edit(Request $request, $jurisdiction_parking_id)
|
||||
public function edit(Request $request, $id)
|
||||
{
|
||||
$record = JurisdictionParking::findOrFail($jurisdiction_parking_id);
|
||||
$record = JurisdictionParking::findOrFail($id);
|
||||
|
||||
if ($request->isMethod('post')) {
|
||||
$validated = $request->validate([
|
||||
@ -59,6 +64,7 @@ class JurisdictionParkingController extends Controller
|
||||
return view('admin.jurisdiction_parkings.edit', compact('record', 'parks', 'opes'));
|
||||
}
|
||||
|
||||
|
||||
public function delete(Request $request)
|
||||
{
|
||||
if ($request->has('pk')) {
|
||||
|
||||
@ -1,119 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\NeighborStation;
|
||||
|
||||
class NeighborStationController extends Controller
|
||||
{
|
||||
// 一覧表示
|
||||
public function list(Request $request)
|
||||
{
|
||||
$sort = $request->input('sort', 'station_id');
|
||||
$sort_type = $request->input('sort_type', 'asc');
|
||||
|
||||
$allowedSorts = ['station_id', 'park_id', 'station_neighbor_station', 'station_name_ruby', 'station_route_name'];
|
||||
if (!in_array($sort, $allowedSorts)) {
|
||||
$sort = 'station_id';
|
||||
}
|
||||
|
||||
if (!in_array($sort_type, ['asc', 'desc'])) {
|
||||
$sort_type = 'asc';
|
||||
}
|
||||
|
||||
$stations = NeighborStation::select([
|
||||
'station_id',
|
||||
'station_neighbor_station',
|
||||
'station_name_ruby',
|
||||
'station_route_name',
|
||||
// 'station_latitude',
|
||||
// 'station_longitude',
|
||||
'park_id'
|
||||
])->orderBy($sort, $sort_type)->paginate(20);
|
||||
|
||||
return view('admin.neighbor_stations.list', compact('stations', 'sort', 'sort_type'));
|
||||
}
|
||||
|
||||
|
||||
// 新規登録画面と登録処理
|
||||
public function add(Request $request)
|
||||
{
|
||||
if ($request->isMethod('post')) {
|
||||
$validated = $request->validate([
|
||||
'station_neighbor_station' => 'required|string|max:255',
|
||||
'station_name_ruby' => 'nullable|string|max:255',
|
||||
'station_route_name' => 'nullable|string|max:255',
|
||||
'park_id' => 'nullable|integer',
|
||||
'operator_id' => 'nullable|integer',
|
||||
]);
|
||||
|
||||
NeighborStation::create($validated);
|
||||
return redirect()->route('neighbor_stations')->with('success', '近傍駅が登録されました');
|
||||
}
|
||||
|
||||
return view('admin.neighbor_stations.add');
|
||||
}
|
||||
|
||||
// 編集画面・更新処理
|
||||
public function edit(Request $request, $id)
|
||||
{
|
||||
$station = NeighborStation::findOrFail($id);
|
||||
|
||||
if ($request->isMethod('post')) {
|
||||
$validated = $request->validate([
|
||||
'station_neighbor_station' => 'required|string|max:255',
|
||||
'station_name_ruby' => 'nullable|string|max:255',
|
||||
'station_route_name' => 'nullable|string|max:255',
|
||||
'park_id' => 'nullable|integer',
|
||||
'operator_id' => 'nullable|integer',
|
||||
]);
|
||||
|
||||
$station->update($validated);
|
||||
return redirect()->route('neighbor_stations')->with('success', '更新しました');
|
||||
}
|
||||
|
||||
return view('admin.neighbor_stations.edit', compact('station'));
|
||||
}
|
||||
|
||||
// 詳細表示
|
||||
public function info($id)
|
||||
{
|
||||
$station = NeighborStation::findOrFail($id);
|
||||
return view('admin.neighbor_stations.info', compact('station'));
|
||||
}
|
||||
|
||||
// 削除処理
|
||||
public function delete(Request $request)
|
||||
{
|
||||
$ids = $request->input('pk'); // ← 接收复数 checkbox 名称 pk[]
|
||||
|
||||
if (!empty($ids)) {
|
||||
NeighborStation::destroy($ids); // 一次性删除多个
|
||||
return redirect()->route('neighbor_stations')->with('success', '削除しました');
|
||||
}
|
||||
|
||||
return redirect()->route('neighbor_stations')->with('error', '削除対象が見つかりません');
|
||||
}
|
||||
|
||||
|
||||
// CSVインポート(仮)
|
||||
public function import(Request $request)
|
||||
{
|
||||
// TODO: 実装
|
||||
return redirect()->route('neighbor_stations')->with('info', 'CSVインポートは未実装です');
|
||||
}
|
||||
|
||||
// CSVエクスポート(仮)
|
||||
public function export()
|
||||
{
|
||||
// TODO: 実装
|
||||
return response()->streamDownload(function () {
|
||||
echo "id,station_neighbor_station,station_name_ruby,station_route_name,park_id,operator_id\n";
|
||||
foreach (NeighborStation::all() as $station) {
|
||||
echo "{$station->id},{$station->station_neighbor_station},{$station->station_name_ruby},{$station->station_route_name},{$station->park_id},{$station->operator_id}\n";
|
||||
}
|
||||
}, 'neighbor_stations.csv');
|
||||
}
|
||||
}
|
||||
140
app/Http/Controllers/Admin/StationController.php
Normal file
140
app/Http/Controllers/Admin/StationController.php
Normal file
@ -0,0 +1,140 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Station;
|
||||
|
||||
class StationController extends Controller
|
||||
{
|
||||
/**
|
||||
* 一覧表示
|
||||
*/
|
||||
public function list(Request $request)
|
||||
{
|
||||
$sort = $request->input('sort', 'station_id');
|
||||
$sort_type = $request->input('sort_type', 'asc');
|
||||
|
||||
// 許可されたソート項目のみ
|
||||
$allowedSorts = [
|
||||
'station_id',
|
||||
'park_id',
|
||||
'station_neighbor_station',
|
||||
'station_name_ruby',
|
||||
'station_route_name'
|
||||
];
|
||||
if (!in_array($sort, $allowedSorts)) {
|
||||
$sort = 'station_id';
|
||||
}
|
||||
|
||||
if (!in_array($sort_type, ['asc', 'desc'])) {
|
||||
$sort_type = 'asc';
|
||||
}
|
||||
|
||||
// 必要カラムのみ取得
|
||||
$stations = Station::select([
|
||||
'station_id',
|
||||
'station_neighbor_station',
|
||||
'station_name_ruby',
|
||||
'station_route_name',
|
||||
'park_id',
|
||||
'operator_id'
|
||||
])->orderBy($sort, $sort_type)->paginate(20);
|
||||
|
||||
return view('admin.stations.list', compact('stations', 'sort', 'sort_type'));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新規登録
|
||||
*/
|
||||
public function add(Request $request)
|
||||
{
|
||||
if ($request->isMethod('post')) {
|
||||
$validated = $request->validate([
|
||||
'station_neighbor_station' => 'required|string|max:255',
|
||||
'station_name_ruby' => 'nullable|string|max:255',
|
||||
'station_route_name' => 'nullable|string|max:255',
|
||||
'park_id' => 'nullable|integer',
|
||||
'operator_id' => 'nullable|integer',
|
||||
]);
|
||||
|
||||
Station::create($validated);
|
||||
return redirect()->route('stations')->with('success', '近傍駅が登録されました');
|
||||
}
|
||||
|
||||
return view('admin.stations.add');
|
||||
}
|
||||
|
||||
/**
|
||||
* 編集
|
||||
*/
|
||||
public function edit(Request $request, $id)
|
||||
{
|
||||
$station = Station::findOrFail($id);
|
||||
|
||||
if ($request->isMethod('post')) {
|
||||
$validated = $request->validate([
|
||||
'station_neighbor_station' => 'required|string|max:255',
|
||||
'station_name_ruby' => 'nullable|string|max:255',
|
||||
'station_route_name' => 'nullable|string|max:255',
|
||||
'park_id' => 'nullable|integer',
|
||||
'operator_id' => 'nullable|integer',
|
||||
]);
|
||||
|
||||
$station->update($validated);
|
||||
return redirect()->route('stations')->with('success', '更新しました');
|
||||
}
|
||||
|
||||
return view('admin.stations.edit', compact('station'));
|
||||
}
|
||||
|
||||
/**
|
||||
* 詳細
|
||||
*/
|
||||
public function info($id)
|
||||
{
|
||||
$station = Station::findOrFail($id);
|
||||
return view('admin.stations.info', compact('station'));
|
||||
}
|
||||
|
||||
/**
|
||||
* 削除
|
||||
*/
|
||||
public function delete(Request $request)
|
||||
{
|
||||
$ids = $request->input('pk'); // 複数ID対応
|
||||
|
||||
if (!empty($ids)) {
|
||||
Station::destroy($ids);
|
||||
return redirect()->route('stations')->with('success', '削除しました');
|
||||
}
|
||||
|
||||
return redirect()->route('stations')->with('error', '削除対象が見つかりません');
|
||||
}
|
||||
|
||||
/**
|
||||
* CSVインポート(仮)
|
||||
*/
|
||||
public function import(Request $request)
|
||||
{
|
||||
// TODO: 実装予定
|
||||
return redirect()->route('stations')->with('info', 'CSVインポートは未実装です');
|
||||
}
|
||||
|
||||
/**
|
||||
* CSVエクスポート
|
||||
*/
|
||||
public function export()
|
||||
{
|
||||
return response()->streamDownload(function () {
|
||||
// Excel用のUTF-8 BOM
|
||||
echo "\xEF\xBB\xBF";
|
||||
echo "station_id,station_neighbor_station,station_name_ruby,station_route_name,park_id,operator_id\n";
|
||||
|
||||
foreach (Station::all() as $station) {
|
||||
echo "{$station->station_id},{$station->station_neighbor_station},{$station->station_name_ruby},{$station->station_route_name},{$station->park_id},{$station->operator_id}\n";
|
||||
}
|
||||
}, 'stations.csv');
|
||||
}
|
||||
}
|
||||
@ -39,6 +39,15 @@ class Park extends Model
|
||||
{
|
||||
return $this->hasMany(PriceA::class, 'park_id', 'park_id');
|
||||
}
|
||||
|
||||
/**
|
||||
* 駐輪場一覧を取得(セレクトボックス用)
|
||||
* 旧 getList() 呼び出し互換
|
||||
* @return \Illuminate\Support\Collection
|
||||
*/
|
||||
public static function getList()
|
||||
{
|
||||
return self::orderBy('park_id', 'asc')
|
||||
->pluck('park_name', 'park_id');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -4,15 +4,11 @@ namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class NeighborStation extends Model
|
||||
class Station extends Model
|
||||
{
|
||||
// テーブル名を指定
|
||||
protected $table = 'station';
|
||||
|
||||
// 主キーを指定
|
||||
protected $primaryKey = 'station_id';
|
||||
|
||||
// ホワイトリスト
|
||||
protected $fillable = [
|
||||
'park_id',
|
||||
'station_neighbor_station',
|
||||
@ -20,6 +16,4 @@ class NeighborStation extends Model
|
||||
'station_route_name',
|
||||
'operator_id',
|
||||
];
|
||||
|
||||
// タイムスタンプのカラム名がデフォルトと同じなので、特に設定不要
|
||||
}
|
||||
}
|
||||
@ -21,7 +21,7 @@
|
||||
|
||||
<section class="content">
|
||||
<div class="container-fluid">
|
||||
<form method="post" action="{{ route('contract_allowable_cities_edit', ['contract_allowable_city_id' => $record->contract_allowable_city_id]) }}">
|
||||
<form method="post" action="{{ route('contract_allowable_cities_edit', ['id' => $record->contract_allowable_city_id]) }}">
|
||||
@csrf
|
||||
<div class="card p-4">
|
||||
{{-- 契約許容市区マスタID --}}
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
@section('title', '[東京都|〇〇駐輪場] 契約許容市区マスタ')
|
||||
|
||||
@section('content')
|
||||
<!-- Content Header -->
|
||||
<div class="content-header">
|
||||
<div class="container-fluid">
|
||||
<div class="row mb-2">
|
||||
@ -10,8 +11,8 @@
|
||||
</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="#">[東京都|〇〇駐輪場]</a></li>
|
||||
<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>
|
||||
@ -19,10 +20,10 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Main Content -->
|
||||
<section class="content">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<!-- 検索条件 -->
|
||||
<div class="container-fluid">
|
||||
<!-- ▼ 検索条件(ここはそのまま保持) -->
|
||||
<div class="col-lg-12">
|
||||
<div class="card">
|
||||
<div class="card-header"><h3 class="card-title">絞り込み</h3></div>
|
||||
@ -71,80 +72,62 @@
|
||||
</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>
|
||||
{{ $list->appends(['sort' => $sort,'sort_type'=>$sort_type])->links('pagination') }}
|
||||
<div class="d-flex justify-content-end">
|
||||
{{ $list->appends(['sort' => $sort ?? '', 'sort_type' => $sort_type ?? ''])->links('pagination') }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 一覧テーブル -->
|
||||
<div class="col-lg-12 row sample03-wrapper no_padding_right mb20">
|
||||
<!-- チェックボックス側 -->
|
||||
<div class="col-xl-2 col-lg-2 col-md-2 col-sm-3 table_left">
|
||||
<!-- ▼ 単一テーブル構成 -->
|
||||
<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 dataTable">
|
||||
<table class="table table-bordered table-striped dataTable text-nowrap">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" class="minimal m-0" id="checkbox_all"></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="width:120px;" class="text-left">
|
||||
<input type="checkbox" class="minimal m-0" id="checkbox_all">
|
||||
</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>
|
||||
@foreach($list as $item)
|
||||
<tr>
|
||||
<td>
|
||||
<div class="d-flex align-items-center">
|
||||
<input type="checkbox" class="minimal m-0 checkbox"
|
||||
value="{{ $item->contract_allowable_city_id }}" name="id[]">
|
||||
<div class="btn_action ml-2">
|
||||
<a href="{{ route('contract_allowable_cities_edit', ['contract_allowable_city_id' => $item->contract_allowable_city_id]) }}"
|
||||
class="btn btn-sm btn-default">編集</a>
|
||||
@foreach($list as $item)
|
||||
<tr>
|
||||
<td class="table-warning align-middle">
|
||||
<div class="d-flex align-items-center">
|
||||
<input type="checkbox" class="minimal m-0 checkbox"
|
||||
value="{{ $item->contract_allowable_city_id }}" name="id[]">
|
||||
<a href="{{ route('contract_allowable_cities_edit', ['id' => $item->contract_allowable_city_id]) }}"
|
||||
class="btn btn-sm btn-default ml-2">{{ __('編集') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</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 class="col-xl-10 col-lg-10 col-md-10 col-sm-9 table_right no_padding_right">
|
||||
<div class="scroll">
|
||||
<table class="table dataTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="sorting @if($sort=="contract_allowable_city_id"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif" sort="contract_allowable_city_id">
|
||||
<span>契約許容市区ID</span>
|
||||
</th>
|
||||
<th><span>市区ID</span></th>
|
||||
<th><span>許容市区名</span></th>
|
||||
<th><span>駐輪場ID</span></th>
|
||||
<th><span>隣接区フラグ</span></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($list as $item)
|
||||
<tr>
|
||||
<td class="sm-item text-left"><span>{{ $item->contract_allowable_city_id }}</span></td>
|
||||
<td class="sm-item text-left"><span>{{ $item->city_id }}</span></td>
|
||||
<td class="sm-item text-left"><span>{{ $item->contract_allowable_city_name }}</span></td>
|
||||
<td class="sm-item text-left"><span>{{ $item->park_id }}</span></td>
|
||||
<td class="sm-item text-left"><span>{{ $item->same_district_flag == 0 ? '隣接市' : 'その他' }}</span></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ▲ 単一テーブル構成ここまで -->
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<script>
|
||||
|
||||
@ -27,11 +27,15 @@
|
||||
<input type="hidden" name="sort_type" id="sort_type" value="{{ $sort_type }}">
|
||||
</form>
|
||||
|
||||
<div class="container-fluid mb20">
|
||||
<button type="button" class="btn btn-sm btn-default mr10" onclick="location.href='{{ route('devices_add') }}'">{{ __('新規') }}</button>
|
||||
<button type="submit" class="btn btn-sm btn-default mr10" form="form_delete">{{ __('削除') }}</button>
|
||||
|
||||
{{ $list->appends(['sort'=>$sort,'sort_type'=>$sort_type])->links('pagination') }}
|
||||
<!-- ツールバー -->
|
||||
<div class="container-fluid mb20 d-flex justify-content-between align-items-center">
|
||||
<div>
|
||||
<button type="button" class="btn btn-sm btn-default mr10" onclick="location.href='{{ route('devices_add') }}'">{{ __('新規') }}</button>
|
||||
<button type="button" class="btn btn-sm btn-default mr10" id="delete">{{ __('削除') }}</button>
|
||||
</div>
|
||||
<div>
|
||||
{{ $list->appends(['sort'=>$sort,'sort_type'=>$sort_type])->links('pagination') }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- フラッシュ --}}
|
||||
@ -56,140 +60,66 @@
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div class="col-lg-12 row sample03-wrapper no_padding_right mb20">
|
||||
{{-- 左:チェック列+編集ボタン --}}
|
||||
<div class="col-xl-2 col-lg-2 col-md-2 col-sm-3 col-xs-3 table_left">
|
||||
{{-- 単一テーブル --}}
|
||||
<div class="col-lg-12 mb20">
|
||||
<div class="table-responsive">
|
||||
<form action="{{ route('devices_delete') }}" method="post" id="form_delete">
|
||||
@csrf
|
||||
<table class="table dataTable">
|
||||
@php
|
||||
$TYPE = [1=>'サーバー', 2=>'プリンタ', 3=>'その他'];
|
||||
$WORK = ['1'=>'稼働', '0'=>'停止', 1=>'稼働', 0=>'停止'];
|
||||
@endphp
|
||||
|
||||
<table class="table table-bordered table-striped dataTable text-nowrap">
|
||||
<thead>
|
||||
<tr><th><input type="checkbox" class="minimal m-0" id="checkbox_all"></th></tr>
|
||||
<tr>
|
||||
<th style="width:120px;" class="text-left">
|
||||
<input type="checkbox" class="minimal m-0" id="checkbox_all">
|
||||
</th>
|
||||
<th class="sorting @if($sort=='device_id'){{ $sort_type=='asc'?'sorting_asc':'sorting_desc' }}@endif text-right"
|
||||
sort="device_id"><span>{{ __('デバイスID') }}</span></th>
|
||||
<th class="sorting @if($sort=='park_id'){{ $sort_type=='asc'?'sorting_asc':'sorting_desc' }}@endif text-left"
|
||||
sort="park_id"><span>{{ __('駐輪場ID') }}</span></th>
|
||||
<th class="sorting @if($sort=='device_type'){{ $sort_type=='asc'?'sorting_asc':'sorting_desc' }}@endif text-left"
|
||||
sort="device_type"><span>{{ __('デバイス種別') }}</span></th>
|
||||
<th class="text-left"><span>{{ __('デバイス名') }}</span></th>
|
||||
<th class="text-left"><span>{{ __('識別子') }}</span></th>
|
||||
<th class="text-left"><span>{{ __('稼働/停止') }}</span></th>
|
||||
<th class="sorting @if($sort=='device_workstart'){{ $sort_type=='asc'?'sorting_asc':'sorting_desc' }}@endif text-right"
|
||||
sort="device_workstart"><span>{{ __('稼働開始日') }}</span></th>
|
||||
<th class="sorting @if($sort=='device_replace'){{ $sort_type=='asc'?'sorting_asc':'sorting_desc' }}@endif text-right"
|
||||
sort="device_replace"><span>{{ __('リプレース予約日') }}</span></th>
|
||||
<th class="text-left"><span>{{ __('備考') }}</span></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($list as $item)
|
||||
<tr role="row">
|
||||
<td>
|
||||
<input type="checkbox" class="minimal m-0 checkbox" name="ids[]" value="{{ $item->device_id }}">
|
||||
<div class="btn_action">
|
||||
<a href="{{ route('devices_edit',['id'=>$item->device_id]) }}" class="btn btn-sm btn-default ml10">{{ __('編集') }}</a>
|
||||
<tr>
|
||||
<td class="table-warning align-middle">
|
||||
<div class="d-flex align-items-center">
|
||||
<input type="checkbox" class="minimal m-0 checkbox" name="ids[]" value="{{ $item->device_id }}">
|
||||
<a href="{{ route('devices_edit',['id'=>$item->device_id]) }}" class="btn btn-sm btn-default ml-2">{{ __('編集') }}</a>
|
||||
</div>
|
||||
</td>
|
||||
<td class="sm-item text-right">{{ $item->device_id }}</td>
|
||||
<td class="sm-item text-left">
|
||||
{{ $item->park_id }}
|
||||
@if($item->relationLoaded('park') && $item->park)
|
||||
: {{ $item->park->park_name ?? '' }}
|
||||
@endif
|
||||
</td>
|
||||
<td class="sm-item text-left">{{ $TYPE[$item->device_type] ?? $item->device_type }}</td>
|
||||
<td class="sm-item text-left">{{ $item->device_subject }}</td>
|
||||
<td class="sm-item text-left">{{ $item->device_identifier }}</td>
|
||||
<td class="sm-item text-left">{{ $WORK[$item->device_work] ?? $item->device_work }}</td>
|
||||
<td class="sm-item text-right">{{ optional($item->device_workstart)->format('Y/m/d') }}</td>
|
||||
<td class="sm-item text-right">{{ optional($item->device_replace)->format('Y/m/d') }}</td>
|
||||
<td class="sm-item text-left">{{ $item->device_remarks }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<form id="form_import_export" method="post" enctype="multipart/form-data">@csrf</form>
|
||||
</div>
|
||||
|
||||
{{-- 右:本体 --}}
|
||||
<div class="col-lg-10 col-xl-10 col-md-10 col-sm-9 col-xs-9 table_right no_padding_right">
|
||||
<div class="scroll">
|
||||
@php
|
||||
$TYPE = [1=>'サーバー',2=>'プリンタ',3=>'その他'];
|
||||
$WORK = ['1'=>'稼働','0'=>'停止',1=>'稼働',0=>'停止'];
|
||||
@endphp
|
||||
<table class="table dataTable">
|
||||
<thead>
|
||||
<tr>
|
||||
{{-- 1 デバイスID--}}
|
||||
<th class="sorting @if($sort=='device_id'){{ $sort_type=='asc'?'sorting_asc':'sorting_desc' }}@endif text-right"
|
||||
sort="device_id"><span>{{ __('デバイスID') }}</span></th>
|
||||
|
||||
{{-- 2 駐輪場ID --}}
|
||||
<th class="sorting @if($sort=='park_id'){{ $sort_type=='asc'?'sorting_asc':'sorting_desc' }}@endif text-left"
|
||||
sort="park_id"><span>{{ __('駐輪場ID') }}</span></th>
|
||||
|
||||
{{-- 3 デバイス種別--}}
|
||||
<th class="sorting @if($sort=='device_type'){{ $sort_type=='asc'?'sorting_asc':'sorting_desc' }}@endif text-left"
|
||||
sort="device_type"><span>{{ __('デバイス種別') }}</span></th>
|
||||
|
||||
{{-- 4 デバイス名 --}}
|
||||
<th class="text-left"><span>{{ __('デバイス名') }}</span></th>
|
||||
|
||||
{{-- 5 識別子 --}}
|
||||
<th class="text-left"><span>{{ __('識別子') }}</span></th>
|
||||
|
||||
{{-- 6 稼働/停止 --}}
|
||||
<th class="text-left"><span>{{ __('稼働/停止') }}</span></th>
|
||||
|
||||
{{-- 7 稼働開始日--}}
|
||||
<th class="sorting @if($sort=='device_workstart'){{ $sort_type=='asc'?'sorting_asc':'sorting_desc' }}@endif text-right"
|
||||
sort="device_workstart"><span>{{ __('稼働開始日') }}</span></th>
|
||||
|
||||
{{-- 8 リプレース予約日 --}}
|
||||
<th class="sorting @if($sort=='device_replace'){{ $sort_type=='asc'?'sorting_asc':'sorting_desc' }}@endif text-right"
|
||||
sort="device_replace"><span>{{ __('リプレース予約日') }}</span></th>
|
||||
|
||||
{{-- 9 備考 --}}
|
||||
<th class="text-left"><span>{{ __('備考') }}</span></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach($list as $item)
|
||||
<tr>
|
||||
{{-- 1 デバイスID) --}}
|
||||
<td class="sm-item text-right">
|
||||
<span>{{ mb_substr($item->device_id, 0, 10) }}</span>
|
||||
</td>
|
||||
|
||||
{{-- 2 駐輪場ID:駐輪場名 --}}
|
||||
<td class="sm-item text-left">
|
||||
<span>
|
||||
{{ mb_substr($item->park_id, 0, 10) }}
|
||||
@if($item->relationLoaded('park') && $item->park)
|
||||
: {{ mb_substr($item->park->park_name ?? '', 0, 10) }}
|
||||
@endif
|
||||
</span>
|
||||
</td>
|
||||
|
||||
{{-- 3 デバイス種別 --}}
|
||||
<td class="sm-item text-left">
|
||||
<span>{{ mb_substr($TYPE[$item->device_type] ?? (string)$item->device_type, 0, 10) }}</span>
|
||||
</td>
|
||||
|
||||
{{-- 4 デバイス名 --}}
|
||||
<td class="sm-item text-left">
|
||||
<span>{{ mb_substr($item->device_subject, 0, 10) }}</span>
|
||||
</td>
|
||||
|
||||
{{-- 5 識別子--}}
|
||||
<td class="sm-item text-left">
|
||||
<span>{{ mb_substr($item->device_identifier, 0, 10) }}</span>
|
||||
</td>
|
||||
|
||||
{{-- 6 稼働/停止--}}
|
||||
<td class="sm-item text-left">
|
||||
<span>{{ $WORK[$item->device_work] ?? $item->device_work }}</span>
|
||||
</td>
|
||||
|
||||
{{-- 7 稼働開始日 --}}
|
||||
<td class="sm-item text-right">
|
||||
@php
|
||||
$ws = $item->device_workstart instanceof \Carbon\Carbon ? $item->device_workstart->format('Y/m/d') : ($item->device_workstart ? \Carbon\Carbon::parse($item->device_workstart)->format('Y/m/d') : '');
|
||||
@endphp
|
||||
<span>{{ $ws }}</span>
|
||||
</td>
|
||||
|
||||
{{-- 8 リプレース予約日) --}}
|
||||
<td class="sm-item text-right">
|
||||
@php
|
||||
$rp = $item->device_replace instanceof \Carbon\Carbon ? $item->device_replace->format('Y/m/d') : ($item->device_replace ? \Carbon\Carbon::parse($item->device_replace)->format('Y/m/d') : '');
|
||||
@endphp
|
||||
<span>{{ $rp }}</span>
|
||||
</td>
|
||||
|
||||
{{-- 9 備考 --}}
|
||||
<td class="sm-item text-left">
|
||||
<span>{{ mb_substr($item->device_remarks, 0, 10) }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -198,21 +128,39 @@
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
document.querySelectorAll('th.sorting[sort]').forEach(function(th){
|
||||
th.style.cursor = 'pointer';
|
||||
th.addEventListener('click', function(){
|
||||
var field = this.getAttribute('sort');
|
||||
var cur = document.getElementById('sort').value;
|
||||
var type = document.getElementById('sort_type').value || 'asc';
|
||||
var next = (cur === field && type === 'asc') ? 'desc' : 'asc';
|
||||
document.getElementById('sort').value = field;
|
||||
document.getElementById('sort_type').value = next;
|
||||
document.getElementById('list-form').submit();
|
||||
// ソート
|
||||
document.querySelectorAll('th.sorting').forEach(th => {
|
||||
th.addEventListener('click', function() {
|
||||
const form = document.getElementById('list-form');
|
||||
const current = "{{ $sort ?? '' }}";
|
||||
const currentType = "{{ $sort_type ?? '' }}";
|
||||
const nextCol = this.getAttribute('sort');
|
||||
let nextType = 'asc';
|
||||
if (current === nextCol) {
|
||||
nextType = (currentType === 'asc') ? 'desc' : 'asc';
|
||||
}
|
||||
form.querySelector('[name=sort]').value = nextCol;
|
||||
form.querySelector('[name=sort_type]').value = nextType;
|
||||
form.submit();
|
||||
});
|
||||
});
|
||||
|
||||
// 全選択
|
||||
document.getElementById('checkbox_all')?.addEventListener('change', function(e){
|
||||
document.querySelectorAll('.checkbox').forEach(cb => cb.checked = e.target.checked);
|
||||
});
|
||||
|
||||
// 削除確認
|
||||
document.getElementById('delete')?.addEventListener('click', function(){
|
||||
const anyChecked = Array.from(document.querySelectorAll('.checkbox')).some(cb => cb.checked);
|
||||
if (!anyChecked) {
|
||||
alert('削除対象が選択されていません。');
|
||||
return;
|
||||
}
|
||||
if (confirm('削除してよろしいですか?')) {
|
||||
document.getElementById('form_delete').submit();
|
||||
}
|
||||
});
|
||||
});
|
||||
document.getElementById('checkbox_all')?.addEventListener('change', function(e){
|
||||
document.querySelectorAll('.checkbox').forEach(function(cb){ cb.checked = e.target.checked; });
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
@endsection
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
|
||||
<section class="content">
|
||||
<div class="container-fluid">
|
||||
<form method="post" action="{{ route('jurisdiction_parkings_edit', ['jurisdiction_parking_id' => $record->jurisdiction_parking_id]) }}">
|
||||
<form method="post" action="{{ route('jurisdiction_parkings_edit', ['id' => $record->jurisdiction_parking_id]) }}">
|
||||
@csrf
|
||||
<div class="card p-4">
|
||||
{{-- 管轄駐輪場ID(表示のみ) --}}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
@extends('layouts.app')
|
||||
@section('title', '[東京都|○○駐車場] 管轄駐輪場')
|
||||
@section('title', '[東京都|〇〇駐輪場] 管轄駐輪場マスタ')
|
||||
|
||||
@section('content')
|
||||
<!-- Content Header -->
|
||||
@ -12,28 +12,36 @@
|
||||
<div class="col-lg-6">
|
||||
<ol class="breadcrumb float-sm-right text-sm">
|
||||
<li class="breadcrumb-item"><a href="{{ route('home') }}">XX様info(ホーム)</a></li>
|
||||
<li class="breadcrumb-item active">管轄駐輪場</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">
|
||||
{{-- 並び替え用 hidden --}}
|
||||
<form action="{{ route('jurisdiction_parkings') }}" method="POST" id="list-form">
|
||||
@csrf
|
||||
<input type="hidden" name="sort" value="{{ $sort ?? '' }}">
|
||||
<input type="hidden" name="sort_type" value="{{ $sort_type ?? '' }}">
|
||||
</form>
|
||||
|
||||
<div class="container-fluid mb20">
|
||||
<button type="button" class="btn btn-sm btn-default mr10" onclick="location.href='{{ route('jurisdiction_parkings_add') }}'">新規</button>
|
||||
<button type="button" class="btn btn-sm btn-default mr10" id="delete">削除</button>
|
||||
<button type="submit" class="btn btn-sm btn-default mr10" form="form_export">CSV出力</button>
|
||||
{{ $list->appends(['sort' => $sort ?? '', 'sort_type' => $sort_type ?? ''])->links('pagination') }}
|
||||
<div class="container-fluid mb20 d-flex justify-content-between">
|
||||
<div>
|
||||
<button type="button" class="btn btn-sm btn-default mr10" onclick="location.href='{{ route('jurisdiction_parkings_add') }}'">新規</button>
|
||||
<button type="button" class="btn btn-sm btn-default mr10" id="delete">削除</button>
|
||||
<button type="submit" class="btn btn-sm btn-default mr10" form="form_export">{{ __('CSV出力') }}</button>
|
||||
</div>
|
||||
<div>
|
||||
{{ $list->appends(['sort' => $sort ?? '', 'sort_type' => $sort_type ?? ''])->links('pagination') }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 成功 / 失敗 メッセージ -->
|
||||
<div class="col-lg-12">
|
||||
@if(session('success'))
|
||||
<div class="alert alert-success alert-dismissible">{{ session('success') }}</div>
|
||||
@ -42,41 +50,20 @@
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div class="col-lg-12 row sample03-wrapper no_padding_right mb20">
|
||||
<!-- 左側チェックボックス -->
|
||||
<div class="col-xl-2 col-lg-2 col-md-2 col-sm-3 col-xs-3 table_left">
|
||||
<!-- ▼ 単一テーブル構成 ----------------------------------------- -->
|
||||
<div class="col-lg-12 mb20">
|
||||
<div class="table-responsive">
|
||||
<form action="{{ route('jurisdiction_parkings_delete') }}" method="POST" id="form_delete">
|
||||
@csrf
|
||||
<table class="table dataTable">
|
||||
<table class="table table-bordered table-striped dataTable text-nowrap">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" class="minimal m-0" id="checkbox_all"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($list as $item)
|
||||
<tr>
|
||||
<td>
|
||||
<input type="checkbox" class="minimal m-0 checkbox" value="{{ $item->jurisdiction_parking_id }}" name="pk[]">
|
||||
<div class="btn_action">
|
||||
<a href="{{ route('jurisdiction_parkings_edit', ['jurisdiction_parking_id' => $item->jurisdiction_parking_id]) }}" class="btn btn-sm btn-default ml10">編集</a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!-- 右側データテーブル -->
|
||||
<div class="col-lg-10 col-xl-10 col-md-10 col-sm-9 col-xs-9 table_right no_padding_right">
|
||||
<div class="scroll">
|
||||
<table class="table dataTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><span>管轄駐輪場ID</span></th>
|
||||
<th><span>管轄名</span></th>
|
||||
{{-- ★ チェック + 編集 用の1列 --}}
|
||||
<th style="width:120px;" class="text-left">
|
||||
<input type="checkbox" class="minimal m-0" id="checkbox_all">
|
||||
</th>
|
||||
<th class="sorting {{ ($sort=='jurisdiction_parking_id') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="jurisdiction_parking_id"><span>管轄駐輪場ID</span></th>
|
||||
<th class="sorting {{ ($sort=='jurisdiction_parking_name') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="jurisdiction_parking_name"><span>管轄名</span></th>
|
||||
<th><span>オペレーター(エリアマネージャ)</span></th>
|
||||
<th><span>駐車場</span></th>
|
||||
</tr>
|
||||
@ -84,19 +71,29 @@
|
||||
<tbody>
|
||||
@foreach($list as $item)
|
||||
<tr>
|
||||
<td class="sm-item text-left">{{ $item->jurisdiction_parking_id }}</td>
|
||||
<td class="sm-item text-left">{{ $item->jurisdiction_parking_name }}</td>
|
||||
<td class="sm-item text-left">{{ $item->ope->ope_name ?? '' }}</td>
|
||||
<td class="sm-item text-left">{{ $item->park->park_name ?? '' }}</td>
|
||||
{{-- ★ チェック + 編集ボタン --}}
|
||||
<td class="table-warning align-middle">
|
||||
<div class="d-flex align-items-center">
|
||||
<input type="checkbox" class="minimal m-0 checkbox" name="pk[]" value="{{ $item->jurisdiction_parking_id }}">
|
||||
<a href="{{ route('jurisdiction_parkings_edit', ['id' => $item->jurisdiction_parking_id]) }}"
|
||||
class="btn btn-sm btn-default ml-2">{{ __('編集') }}</a>
|
||||
</div>
|
||||
</td>
|
||||
|
||||
<td class="sm-item text-left align-middle">{{ $item->jurisdiction_parking_id }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->jurisdiction_parking_name }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->ope->ope_name ?? '' }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->park->park_name ?? '' }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ▲ 単一テーブル構成ここまで ----------------------------------------- -->
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<form action="{{ route('jurisdiction_parkings_export') }}" method="GET" id="form_export"></form>
|
||||
@endsection
|
||||
@endsection
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
<div class="d-flex justify-content-start align-items-center">
|
||||
@if($isInfo)
|
||||
<a href="{{ route('managers_add') }}" class="btn btn-lg btn-success mr-2">{{ __('登録') }}</a>
|
||||
<a href="{{ route('managers_edit', ['manager_id' => $manager_id]) }}" class="btn btn-lg btn-danger">{{ __('編集') }}</a>
|
||||
<a href="{{ route('managers_edit', ['id' => $manager_id]) }}" class="btn btn-lg btn-danger">{{ __('編集') }}</a>
|
||||
@else
|
||||
<button type="submit" class="btn btn-lg btn-success mr-2">
|
||||
{{ $isAddPage ? __('登録') : __('保存') }}
|
||||
@ -44,7 +44,7 @@
|
||||
@if($isInfo || $isEdit)
|
||||
{{-- 駐車場管理者ID(表示のみ) --}}
|
||||
<div class="form-group col-3">
|
||||
<label>{{ __('validation.attributes.manager_id') }}</label>
|
||||
<label>{{ __('駐車場管理者ID') }}</label>
|
||||
</div>
|
||||
<div class="form-group col-9">
|
||||
<div class="input-group">
|
||||
@ -58,7 +58,7 @@
|
||||
|
||||
{{-- 駐車場管理者名 --}}
|
||||
<div class="form-group col-3">
|
||||
<label @if(!$isInfo) class="required" @endif>{{ __('validation.attributes.manager_name') }}</label>
|
||||
<label @if(!$isInfo) class="required" @endif>{{ __('駐車場管理者名') }}</label>
|
||||
</div>
|
||||
<div class="form-group col-9">
|
||||
<div class="input-group">
|
||||
@ -72,7 +72,7 @@
|
||||
|
||||
{{-- 種別 --}}
|
||||
<div class="form-group col-3">
|
||||
<label>{{ __('validation.attributes.manager_type') }}</label>
|
||||
<label>{{ __('種別') }}</label>
|
||||
</div>
|
||||
<div class="form-group col-9">
|
||||
<div class="input-group">
|
||||
@ -86,7 +86,7 @@
|
||||
|
||||
{{-- 所属駐輪場 --}}
|
||||
<div class="form-group col-3">
|
||||
<label @if(!$isInfo) class="required" @endif>{{ __('validation.attributes.park_name') }}</label>
|
||||
<label @if(!$isInfo) class="required" @endif>{{ __('駐輪場名') }}</label>
|
||||
</div>
|
||||
<div class="form-group col-9">
|
||||
<select class="form-control form-control-lg mb10"
|
||||
@ -103,7 +103,7 @@
|
||||
|
||||
{{-- 管理デバイス1 --}}
|
||||
<div class="form-group col-3">
|
||||
<label @if(!$isInfo) class="required" @endif>{{ __('validation.attributes.manager_device1') }}</label>
|
||||
<label @if(!$isInfo) class="required" @endif>{{ __('管理デバイス1') }}</label>
|
||||
</div>
|
||||
<div class="form-group col-9">
|
||||
<select class="form-control form-control-lg mb10"
|
||||
@ -120,7 +120,7 @@
|
||||
|
||||
{{-- 管理デバイス2 --}}
|
||||
<div class="form-group col-3">
|
||||
<label @if(!$isInfo) class="required" @endif>{{ __('validation.attributes.manager_device2') }}</label>
|
||||
<label @if(!$isInfo) class="required" @endif>{{ __('管理デバイス2') }}</label>
|
||||
</div>
|
||||
<div class="form-group col-9">
|
||||
<select class="form-control form-control-lg mb10"
|
||||
@ -137,7 +137,7 @@
|
||||
|
||||
{{-- メールアドレス --}}
|
||||
<div class="form-group col-3">
|
||||
<label>{{ __('validation.attributes.manager_mail') }}</label>
|
||||
<label>{{ __('メールアドレス') }}</label>
|
||||
</div>
|
||||
<div class="form-group col-9">
|
||||
<div class="input-group">
|
||||
@ -150,7 +150,7 @@
|
||||
|
||||
{{-- 電話番号 --}}
|
||||
<div class="form-group col-3">
|
||||
<label>{{ __('validation.attributes.manager_tel') }}</label>
|
||||
<label>{{ __('電話番号') }}</label>
|
||||
</div>
|
||||
<div class="form-group col-9">
|
||||
<div class="input-group">
|
||||
@ -163,7 +163,7 @@
|
||||
|
||||
{{-- アラート1送信(checkbox + hidden 0) --}}
|
||||
<div class="form-group col-3">
|
||||
<label>{{ __('validation.attributes.manager_alert1') }}</label>
|
||||
<label>{{ __('アラート1') }}</label>
|
||||
</div>
|
||||
<div class="form-group col-9">
|
||||
<div class="input-group align-items-center">
|
||||
@ -177,7 +177,7 @@
|
||||
|
||||
{{-- アラート2送信(checkbox + hidden 0) --}}
|
||||
<div class="form-group col-3">
|
||||
<label>{{ __('validation.attributes.manager_alert2') }}</label>
|
||||
<label>{{ __('アラート2') }}</label>
|
||||
</div>
|
||||
<div class="form-group col-9">
|
||||
<div class="input-group align-items-center">
|
||||
@ -191,7 +191,7 @@
|
||||
|
||||
{{-- 退職フラグ --}}
|
||||
<div class="form-group col-3">
|
||||
<label>{{ __('validation.attributes.manager_quit_flag') }}</label>
|
||||
<label>{{ __('退職フラグ') }}</label>
|
||||
</div>
|
||||
<div class="form-group col-9">
|
||||
<div class="row">
|
||||
@ -214,7 +214,7 @@
|
||||
|
||||
{{-- 退職日 --}}
|
||||
<div class="form-group col-3">
|
||||
<label>{{ __('validation.attributes.manager_quitday') }}</label>
|
||||
<label>{{ __('退職日') }}</label>
|
||||
</div>
|
||||
<div class="form-group col-9">
|
||||
<div class="input-group">
|
||||
@ -232,7 +232,7 @@
|
||||
<div class="d-flex justify-content-start align-items-center">
|
||||
@if($isInfo)
|
||||
<a href="{{ route('managers_add') }}" class="btn btn-lg btn-success mr-2">{{ __('登録') }}</a>
|
||||
<a href="{{ route('managers_edit', ['manager_id' => $manager_id]) }}" class="btn btn-lg btn-danger">{{ __('編集') }}</a>
|
||||
<a href="{{ route('managers_edit', ['id' => $manager_id]) }}" class="btn btn-lg btn-danger">{{ __('編集') }}</a>
|
||||
@else
|
||||
<button type="submit" class="btn btn-lg btn-success mr-2">
|
||||
{{ $isAddPage ? __('登録') : __('保存') }}
|
||||
|
||||
@ -43,7 +43,7 @@
|
||||
<div class="card p-3">
|
||||
|
||||
{{-- 更新用フォーム --}}
|
||||
<form method="post" action="{{ route('managers_edit', ['manager_id' => $mid]) }}">
|
||||
<form method="post" action="{{ route('managers_edit', ['id' => $mid]) }}">
|
||||
@csrf
|
||||
@include('admin.managers._form', ['isEdit' => 1, 'isInfo' => 0])
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
|
||||
@section('content')
|
||||
@php
|
||||
// 兼容控制器传参:$record 或 $manager_id
|
||||
|
||||
$mid = $record->manager_id ?? ($manager_id ?? null);
|
||||
@endphp
|
||||
|
||||
|
||||
@ -2,210 +2,134 @@
|
||||
@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') }}">XX様info(ホーム)</a></li>
|
||||
<li class="breadcrumb-item"><a href="javascript: void(0);">[東京都|〇〇駐輪場]</a></li>
|
||||
<li class="breadcrumb-item active">{{ __('駐輪場管理者マスタ') }}</li>
|
||||
</ol>
|
||||
</div>
|
||||
<!-- 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') }}">XX様info(ホーム)</a></li>
|
||||
<li class="breadcrumb-item"><a href="javascript:void(0);">[東京都|〇〇駐輪場]</a></li>
|
||||
<li class="breadcrumb-item active">駐輪場管理者マスタ</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<section class="content">
|
||||
<div class="container-fluid">
|
||||
|
||||
<div class="row">
|
||||
{{-- 並び替え用 --}}
|
||||
<form action="{{ route('managers') }}" method="post" id="list-form">
|
||||
@csrf
|
||||
<input type="hidden" value="{{ $sort }}" name="sort" id="sort">
|
||||
<input type="hidden" value="{{ $sort_type }}" name="sort_type" id="sort_type">
|
||||
</form>
|
||||
|
||||
<div class="container-fluid mb20">
|
||||
{{-- 新規 --}}
|
||||
<a href="{{ route('managers_add') }}" class="btn btn-sm btn-default mr10">
|
||||
{{ __('新規') }}
|
||||
</a>
|
||||
{{-- 削除(左侧勾选后提交下方 form_delete) --}}
|
||||
<button type="submit" class="btn btn-sm btn-default mr10" id="delete" form="form_delete">
|
||||
{{ __('削除') }}
|
||||
</button>
|
||||
|
||||
{{ $list->appends(['sort' => $sort, 'sort_type' => $sort_type])->links('pagination') }}
|
||||
</div>
|
||||
|
||||
<div class="form col-lg-12">
|
||||
@if(Session::has('success'))
|
||||
<div class="alert alert-success alert-dismissible" role="alert">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
{{ Session::get('success') }}
|
||||
</div>
|
||||
@elseif(Session::has('error'))
|
||||
<div class="alert alert-danger alert-dismissible">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<h4><i class="icon fa fa-ban"></i> {{ __('誤差') }}:</h4>
|
||||
{!! Session::get('error') !!}
|
||||
</div>
|
||||
@elseif(isset($errorMsg))
|
||||
<div class="alert alert-danger alert-dismissible">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<h4><i class="icon fa fa-ban"></i> {{ __('誤差') }}:</h4>
|
||||
{!! $errorMsg !!}
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div class="col-lg-12 row sample03-wrapper no_padding_right mb20">
|
||||
{{-- 左:チェック&操作 --}}
|
||||
<div class="col-xl-2 col-lg-2 col-md-2 col-sm-3 col-xs-3 table_left">
|
||||
<form action="{{ route('managers_delete') }}" method="post" id="form_delete">
|
||||
@csrf
|
||||
<table class="table dataTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
<input type="checkbox" class="minimal m-0" id="checkbox_all">
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($list as $item)
|
||||
<tr role="row">
|
||||
<td>
|
||||
<input type="checkbox" class="minimal m-0 checkbox"
|
||||
value="{{ $item->manager_id }}" name="pk[]">
|
||||
<div class="btn_action">
|
||||
{{-- <a href="{{ route('managers_add') }}" class="btn btn-sm btn-default">詳細</a> --}}
|
||||
<a href="{{ route('managers_info', ['manager_id' => $item->manager_id]) }}"
|
||||
class="btn btn-sm btn-default ml10">{{ __('編集') }}</a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
{{-- 右:一覧テーブル --}}
|
||||
<div class="col-lg-10 col-xl-10 col-md-10 col-sm-9 col-xs-9 table_right no_padding_right">
|
||||
<div class="scroll">
|
||||
<table class="table dataTable">
|
||||
<thead>
|
||||
<tr>
|
||||
{{-- 駐車場管理者ID --}}
|
||||
<th class="sorting @if($sort=='manager_id'){{ $sort_type=='asc'?'sorting_asc':'sorting_desc' }}@endif"
|
||||
sort="manager_id"><span>{{ __('validation.attributes.manager_id') }}</span></th>
|
||||
|
||||
{{-- 駐車場管理者名 --}}
|
||||
<th class="sorting @if($sort=='manager_name'){{ $sort_type=='asc'?'sorting_asc':'sorting_desc' }}@endif"
|
||||
sort="manager_name"><span>{{ __('validation.attributes.manager_name') }}</span></th>
|
||||
|
||||
{{-- 種別 --}}
|
||||
<th><span>{{ __('validation.attributes.manager_type') }}</span></th>
|
||||
|
||||
{{-- 所属駐車場ID --}}
|
||||
<th class="sorting @if($sort=='manager_parkid'){{ $sort_type=='asc'?'sorting_asc':'sorting_desc' }}@endif"
|
||||
sort="manager_parkid"><span>{{ __('validation.attributes.manager_parkid') }}</span></th>
|
||||
|
||||
{{-- 管理デバイス1/2 --}}
|
||||
<th><span>{{ __('validation.attributes.manager_device1') }}</span></th>
|
||||
<th><span>{{ __('validation.attributes.manager_device2') }}</span></th>
|
||||
|
||||
{{-- メール --}}
|
||||
<th><span>{{ __('validation.attributes.manager_mail') }}</span></th>
|
||||
|
||||
{{-- 電話 --}}
|
||||
<th class="sorting @if($sort=='manager_tel'){{ $sort_type=='asc'?'sorting_asc':'sorting_desc' }}@endif"
|
||||
sort="manager_tel"><span>{{ __('validation.attributes.manager_tel') }}</span></th>
|
||||
|
||||
{{-- アラート1(★sort 修正済) --}}
|
||||
<th class="sorting @if($sort=='manager_alert1'){{ $sort_type=='asc'?'sorting_asc':'sorting_desc' }}@endif"
|
||||
sort="manager_alert1"><span>{{ __('validation.attributes.manager_alert1') }}</span></th>
|
||||
|
||||
{{-- アラート2 --}}
|
||||
<th class="sorting @if($sort=='manager_alert2'){{ $sort_type=='asc'?'sorting_asc':'sorting_desc' }}@endif"
|
||||
sort="manager_alert2"><span>{{ __('validation.attributes.manager_alert2') }}</span></th>
|
||||
|
||||
{{-- 退職フラグ --}}
|
||||
<th class="sorting @if($sort=='manager_quit_flag'){{ $sort_type=='asc'?'sorting_asc':'sorting_desc' }}@endif"
|
||||
sort="manager_quit_flag"><span>{{ __('validation.attributes.manager_quit_flag') }}</span></th>
|
||||
|
||||
{{-- 退職日 --}}
|
||||
<th><span>{{ __('validation.attributes.manager_quitday') }}</span></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach($list as $item)
|
||||
<tr>
|
||||
<td class='sm-item text-left'>
|
||||
<span>{{ mb_substr($item->manager_id, 0, 10) }}</span>
|
||||
</td>
|
||||
<td class='sm-item text-right'>
|
||||
<span>{{ mb_substr($item->manager_name, 0, 10) }}</span>
|
||||
</td>
|
||||
<td class='sm-item text-left'>
|
||||
<span>{{ mb_substr($item->manager_type, 0, 10) }}</span>
|
||||
</td>
|
||||
<td class='sm-item text-right'>
|
||||
<span>{{ mb_substr(!empty($item->getPark()) ? $item->getPark()->park_name : "", 0, 10) }}</span>
|
||||
</td>
|
||||
<td class='sm-item text-right'>
|
||||
<span>{{ mb_substr(!empty($item->getDevice1()) ? $item->getDevice1()->device_subject : "", 0, 10) }}</span>
|
||||
</td>
|
||||
<td class='sm-item text-right'>
|
||||
<span>{{ mb_substr(!empty($item->getDevice2()) ? $item->getDevice2()->device_subject : "", 0, 10) }}</span>
|
||||
</td>
|
||||
<td class='sm-item text-left'>
|
||||
<span>{{ mb_substr($item->manager_mail, 0, 20) }}</span>
|
||||
</td>
|
||||
<td class='sm-item text-left'>
|
||||
<span>{{ mb_substr($item->manager_tel, 0, 20) }}</span>
|
||||
</td>
|
||||
<td class='sm-item text-left'>
|
||||
<span>{{ mb_substr($item->manager_alert1, 0, 20) }}</span>
|
||||
</td>
|
||||
<td class='sm-item text-left'>
|
||||
<span>{{ mb_substr($item->manager_alert2, 0, 20) }}</span>
|
||||
</td>
|
||||
<td class='sm-item text-left'>
|
||||
<span>{{ $item->getManagerQuitFlagDisplay() }}</span>
|
||||
</td>
|
||||
<td class='sm-item text-right'>
|
||||
@if($item->manager_quitday)
|
||||
<span class="text-muted"><i class="fa fa-clock-o mr-1"></i>
|
||||
{{ mb_substr($item->manager_quitday, 0, 10) }}
|
||||
</span>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Main Content -->
|
||||
<section class="content">
|
||||
<div class="container-fluid">
|
||||
{{-- 並び替え用 hidden --}}
|
||||
<form action="{{ route('managers') }}" method="POST" id="list-form">
|
||||
@csrf
|
||||
<input type="hidden" name="sort" value="{{ $sort ?? '' }}">
|
||||
<input type="hidden" name="sort_type" value="{{ $sort_type ?? '' }}">
|
||||
</form>
|
||||
|
||||
<!-- 操作ボタン -->
|
||||
<div class="container-fluid mb20">
|
||||
<button type="button" class="btn btn-sm btn-default mr10" onclick="location.href='{{ route('managers_add') }}'">新規</button>
|
||||
<button type="submit" class="btn btn-sm btn-default mr10" form="form_delete">削除</button>
|
||||
<button type="submit" class="btn btn-sm btn-default mr10" form="form_export">{{ __('CSV出力') }}</button>
|
||||
<div class="d-flex justify-content-end">
|
||||
{{ $list->appends(['sort' => $sort ?? '', 'sort_type' => $sort_type ?? ''])->links('pagination') }}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<script>
|
||||
// 全選択
|
||||
document.getElementById('checkbox_all')?.addEventListener('change', function () {
|
||||
const checks = document.querySelectorAll('#form_delete .checkbox');
|
||||
checks.forEach(ch => ch.checked = this.checked);
|
||||
});
|
||||
</script>
|
||||
<!-- メッセージ表示 -->
|
||||
<div class="form col-lg-12">
|
||||
@if(Session::has('success'))
|
||||
<div class="alert alert-success alert-dismissible" role="alert">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
{{ Session::get('success') }}
|
||||
</div>
|
||||
@elseif(Session::has('error'))
|
||||
<div class="alert alert-danger alert-dismissible">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<h4><i class="icon fa fa-ban"></i> {{ __('誤差') }}:</h4>
|
||||
{!! Session::get('error') !!}
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<!-- ▼ 単一テーブル構成 -->
|
||||
<div class="col-lg-12 mb20">
|
||||
<div class="table-responsive">
|
||||
<form action="{{ route('managers_delete') }}" method="POST" id="form_delete">
|
||||
@csrf
|
||||
<table class="table table-bordered table-striped dataTable text-nowrap">
|
||||
<thead>
|
||||
<tr>
|
||||
{{-- ★ チェック + 編集ボタン列 --}}
|
||||
<th style="width:120px;" class="text-left">
|
||||
<input type="checkbox" class="minimal m-0" id="checkbox_all">
|
||||
</th>
|
||||
<th class="sorting {{ ($sort=='manager_id') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="manager_id"><span>駐輪場管理者ID</span></th>
|
||||
<th class="sorting {{ ($sort=='manager_name') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="manager_name"><span>駐輪場管理者名</span></th>
|
||||
<th><span>種別</span></th>
|
||||
<th class="sorting {{ ($sort=='manager_parkid') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="manager_parkid"><span>所属駐車場ID</span></th>
|
||||
<th><span>管理デバイス1</span></th>
|
||||
<th><span>管理デバイス2</span></th>
|
||||
<th><span>メール</span></th>
|
||||
<th class="sorting {{ ($sort=='manager_tel') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="manager_tel"><span>電話</span></th>
|
||||
<th class="sorting {{ ($sort=='manager_alert1') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="manager_alert1"><span>アラート1</span></th>
|
||||
<th class="sorting {{ ($sort=='manager_alert2') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="manager_alert2"><span>アラート2</span></th>
|
||||
<th class="sorting {{ ($sort=='manager_quit_flag') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="manager_quit_flag"><span>退職フラグ</span></th>
|
||||
<th><span>退職日</span></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($list as $item)
|
||||
<tr>
|
||||
{{-- チェック+編集ボタン --}}
|
||||
<td class="table-warning align-middle">
|
||||
<div class="d-flex align-items-center">
|
||||
<input type="checkbox" class="minimal m-0 checkbox" name="pk[]" value="{{ $item->manager_id }}">
|
||||
<a href="{{ route('managers_info', ['id' => $item->manager_id]) }}"
|
||||
class="btn btn-sm btn-default ml-2">{{ __('編集') }}</a>
|
||||
</div>
|
||||
</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->manager_id }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->manager_name }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->manager_type }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ !empty($item->getPark()) ? $item->getPark()->park_name : '' }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ !empty($item->getDevice1()) ? $item->getDevice1()->device_subject : '' }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ !empty($item->getDevice2()) ? $item->getDevice2()->device_subject : '' }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->manager_mail }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->manager_tel }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->manager_alert1 }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->manager_alert2 }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->getManagerQuitFlagDisplay() }}</td>
|
||||
<td class="sm-item text-left align-middle">
|
||||
@if($item->manager_quitday)
|
||||
<span class="text-muted">
|
||||
<i class="fa fa-clock-o mr-1"></i>
|
||||
{{ mb_substr($item->manager_quitday, 0, 10) }}
|
||||
</span>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ▲ 単一テーブル構成ここまで -->
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<form action="{{ route('managers_export') }}" method="GET" id="form_export"></form>
|
||||
|
||||
<script>
|
||||
// 全選択
|
||||
document.getElementById('checkbox_all')?.addEventListener('change', function () {
|
||||
const checks = document.querySelectorAll('#form_delete .checkbox');
|
||||
checks.forEach(ch => ch.checked = this.checked);
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
|
||||
@ -1,238 +1,183 @@
|
||||
@extends('layouts.app')
|
||||
@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><!-- /.col -->
|
||||
<div class="col-lg-6">
|
||||
<ol class="breadcrumb float-sm-right text-sm">
|
||||
<li class="breadcrumb-item"><a href="{{route('home')}}">XX様info(ホーム)</a></li>
|
||||
<li class="breadcrumb-item"><a href="javascript: void(0);">[東京都|〇〇駐輪場]</a></li>
|
||||
<li class="breadcrumb-item active">{{__('オペレータキュー')}}</li>
|
||||
</ol>
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.container-fluid -->
|
||||
</div>
|
||||
<!-- /.content-header -->
|
||||
|
||||
<!-- Main content -->
|
||||
<section class="content">
|
||||
<!-- キューステータス -->
|
||||
<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('operator_ques') }}" method="POST" id="filter-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-12">
|
||||
<label>キューステータス</label>
|
||||
<select name="que_status" class="form-control">
|
||||
<option value="">-- 選択してください --</option>
|
||||
@foreach(\App\Models\OperatorQue::QueStatus as $key => $label)
|
||||
<option value="{{ $key }}"
|
||||
@if(old('que_status', $que_status ?? '') == $key) selected @endif>
|
||||
{{ $label }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group col-12 text-left mt-2">
|
||||
<button type="submit" name="action" value="filter" class="btn btn-default">絞り込み</button>
|
||||
<button type="submit" name="action" value="reset" class="btn btn-default">解除</button>
|
||||
</div>
|
||||
</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') }}">XX様info(ホーム)</a></li>
|
||||
<li class="breadcrumb-item active">オペレータキュー</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<section class="content">
|
||||
<!-- ▼ 絞り込みフィルター -->
|
||||
<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('operator_ques') }}" method="POST" id="list-form">
|
||||
@csrf
|
||||
<input type="hidden" name="sort" value="{{ $sort ?? '' }}">
|
||||
<input type="hidden" name="sort_type" value="{{ $sort_type ?? '' }}">
|
||||
|
||||
<div class="row">
|
||||
<div class="form-group col-12">
|
||||
<label>キューステータス</label>
|
||||
<select name="que_status" class="form-control">
|
||||
<option value="">-- 選択してください --</option>
|
||||
@foreach(\App\Models\OperatorQue::QueStatus as $key => $label)
|
||||
<option value="{{ $key }}" {{ old('que_status', $que_status ?? '') == $key ? 'selected' : '' }}>
|
||||
{{ $label }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="container-fluid">
|
||||
<!-- SELECT2 EXAMPLE -->
|
||||
|
||||
|
||||
<div class="row">
|
||||
<form action="{{route('operator_ques')}}" method='post' id='list-form'>
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
||||
<input type="hidden" value="{{$sort}}" name="sort" id="sort">
|
||||
<input type="hidden" value="{{$sort_type}}" name="sort_type" id="sort_type">
|
||||
<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="reset" class="btn btn-default">解除</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div class="container-fluid mb20">
|
||||
<button type="submit" class="btn btn-sm btn-default mr10" name="delete"
|
||||
id="delete">{{__('削除')}}</button>
|
||||
<button type="submit" class="btn btn-sm btn-default mr10" name="import_csv" id="import_csv" action="{{route('operator_ques_import')}}">{{__('インポート')}}</button>
|
||||
<button type="submit" class="btn btn-sm btn-default mr10" name="export_csv" id="export_csv" action="{{route('operator_ques_export')}}">{{__('CSV出力')}}</button>
|
||||
{{ $list->appends(['sort' => $sort,'sort_type'=>$sort_type])->links('pagination') }}
|
||||
</div>
|
||||
<div class="form col-lg-12">
|
||||
@if(Session::has('success'))
|
||||
<div class="alert alert-success alert-dismissible" role="alert">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
{{ Session::get('success') }}
|
||||
</div>
|
||||
@elseif(Session::has('error'))
|
||||
<div class="alert alert-danger alert-dismissible">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<h4><i class="icon fa fa-ban"></i> {{__('誤差')}}:</h4>
|
||||
{!! Session::get('error') !!}
|
||||
</div>
|
||||
@elseif(isset($errorMsg))
|
||||
<div class="alert alert-danger alert-dismissible">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<h4><i class="icon fa fa-ban"></i> {{__('誤差')}}:</h4>
|
||||
{!! $errorMsg !!}
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-lg-12 row sample03-wrapper no_padding_right mb20">
|
||||
<div class="col-xl-2 col-lg-2 col-md-2 col-sm-3 col-xs-3 table_left">
|
||||
<form action="{{route('operator_ques_delete')}}" method="post" id="form_delete">
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
||||
<table class="table dataTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
<input type="checkbox" class="minimal m-0" id="checkbox_all">
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($list as $item)
|
||||
<tr role="row">
|
||||
<td>
|
||||
<input type="checkbox" class="minimal m-0 checkbox"
|
||||
value="{{ $item->que_id }}" name="pk[]">
|
||||
<div class="btn_action">
|
||||
{{-- 詳細 --}}
|
||||
{{-- <a href="{{ route('operator_ques_add') }}" class="btn btn-sm btn-default">詳細</a> --}}
|
||||
|
||||
{{-- 編集 --}}
|
||||
<a href="{{ route('operator_ques_info', ['id' => $item->que_id]) }}"
|
||||
class="btn btn-sm btn-default ml10">{{ __('編集') }}</a>
|
||||
</div>
|
||||
</td>
|
||||
|
||||
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<div class="col-lg-10 col-xl-10 col-md-10 col-sm-9 col-xs-9 table_right no_padding_right">
|
||||
<div class="scroll">
|
||||
<table class="table dataTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<!--キューID-->
|
||||
<th class="sorting @if($sort=="que_id"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
||||
sort="que_id"><span>{{__('validation.attributes.que_id')}}</span>
|
||||
</th>
|
||||
<!-- 利用者名 -->
|
||||
<th class="sorting @if($sort=="user_id"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
||||
sort="user_id"><span>{{__('validation.attributes.user_name')}}</span>
|
||||
</th>
|
||||
|
||||
<!-- 携帯電話番号 -->
|
||||
<th><span>{{__('validation.attributes.user_mobile')}}</span></th>
|
||||
|
||||
<!-- 自宅電話番号 -->
|
||||
<th><span>{{__('validation.attributes.user_homephone')}}</span></th>
|
||||
<!-- 駐輪場 -->
|
||||
<th class="sorting @if($sort=="park_name"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
||||
sort="park_name"><span>{{__('validation.attributes.park_name')}}</span>
|
||||
</th>
|
||||
|
||||
<!-- キュー種別 -->
|
||||
<th class="sorting @if($sort=="que_class"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
||||
sort="que_class"><span>{{__('validation.attributes.que_class')}}</span>
|
||||
</th>
|
||||
|
||||
<!-- キューコメント -->
|
||||
<th class="sorting @if($sort=="que_comment"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
||||
sort="que_comment"><span>{{__('validation.attributes.que_comment')}}</span>
|
||||
</th>
|
||||
|
||||
<!-- キューステータス -->
|
||||
<th class="sorting @if($sort=="que_status"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
||||
sort="que_status"><span>{{__('validation.attributes.que_status')}}</span>
|
||||
</th>
|
||||
<!-- キューステータスコメント -->
|
||||
<th><span>{{__('validation.attributes.que_status_comment')}}</span></th>
|
||||
|
||||
<!-- 処理リンク -->
|
||||
<th><span>{{__('validation.attributes.processing')}}</span>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($list as $item)
|
||||
<tr>
|
||||
<td class='sm-item text-left'>
|
||||
<span>{{mb_substr($item->que_id, 0, 10)}}</span></td>
|
||||
<!-- 利用者名 -->
|
||||
<td class='sm-item text-right'>
|
||||
<span>{{mb_substr(!empty($item->getUser())?$item->getUser()->user_name:"", 0, 10)}}</span></td>
|
||||
<!-- 携帯電話番号 -->
|
||||
<td class='sm-item text-left'>
|
||||
<span>{{mb_substr(!empty($item->getUser())?$item->getUser()->user_mobile:"", 0, 15)}}</span></td>
|
||||
|
||||
<!-- 自宅電話番号 -->
|
||||
<td class='sm-item text-left'>
|
||||
<span>{{mb_substr(!empty($item->getUser())?$item->getUser()->user_homephone:"", 0, 15)}}</span></td>
|
||||
<!-- 駐輪場 -->
|
||||
<td class='sm-item text-right'>
|
||||
<span>{{mb_substr(!empty($item->getPark())?$item->getPark()->park_name:"", 0, 10)}}</span></td>
|
||||
<!-- キュー種別 -->
|
||||
<td class='sm-item text-right'>
|
||||
<span>{{ mb_substr($item->getQueClassLabel(), 0, 10) }}</span>
|
||||
</td>
|
||||
|
||||
<!-- キューコメント -->
|
||||
<td class='sm-item text-right'>
|
||||
<span>{{ mb_substr($item->que_comment, 0, 20) }}</span>
|
||||
</td>
|
||||
|
||||
<!-- キューステータス -->
|
||||
<td class='sm-item text-right'>
|
||||
<span>{{ mb_substr($item->getQueStatusLabel(), 0, 10) }}</span>
|
||||
</td>
|
||||
|
||||
<!-- キューステータスコメント -->
|
||||
<td class='sm-item text-right'>
|
||||
<span>{{mb_substr($item->que_status_comment, 0, 20)}}</span></td>
|
||||
|
||||
<!-- //TODO 処理リンク -->
|
||||
<td class='sm-item text-left'><span></span></td>
|
||||
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.row -->
|
||||
</div><!-- /.container-fluid -->
|
||||
</section>
|
||||
<!-- /.content -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- ▲ 絞り込みフィルター -->
|
||||
|
||||
@endsection
|
||||
<div class="container-fluid">
|
||||
<!-- ▼ ツールバー -->
|
||||
<div class="container-fluid mb20">
|
||||
<button type="button" class="btn btn-sm btn-default mr10" id="delete">削除</button>
|
||||
<button type="button" class="btn btn-sm btn-default mr10" onclick="location.href='{{ route('operator_ques_import') }}'">インポート</button>
|
||||
<button type="submit" class="btn btn-sm btn-default mr10" form="form_export">{{ __('CSV出力') }}</button>
|
||||
<div class="d-flex justify-content-end">
|
||||
{{ $list->appends(['sort' => $sort ?? '', 'sort_type' => $sort_type ?? ''])->links('pagination') }}
|
||||
</div>
|
||||
</div>
|
||||
<!-- ▲ ツールバー -->
|
||||
|
||||
<!-- ▼ メッセージ表示 -->
|
||||
<div class="form col-lg-12">
|
||||
@if(Session::has('success'))
|
||||
<div class="alert alert-success alert-dismissible" role="alert">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
{{ Session::get('success') }}
|
||||
</div>
|
||||
@elseif(Session::has('error'))
|
||||
<div class="alert alert-danger alert-dismissible">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<h4><i class="icon fa fa-ban"></i> {{ __('誤差') }}:</h4>
|
||||
{!! Session::get('error') !!}
|
||||
</div>
|
||||
@elseif(isset($errorMsg))
|
||||
<div class="alert alert-danger alert-dismissible">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<h4><i class="icon fa fa-ban"></i> {{ __('誤差') }}:</h4>
|
||||
{!! $errorMsg !!}
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
<!-- ▲ メッセージ表示 -->
|
||||
|
||||
<!-- ▼ 単一テーブル構成 -->
|
||||
<div class="col-lg-12 mb20">
|
||||
<div class="table-responsive">
|
||||
<form action="{{ route('operator_ques_delete') }}" method="POST" id="form_delete">
|
||||
@csrf
|
||||
<table class="table table-bordered table-striped dataTable text-nowrap">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width:120px;" class="text-left">
|
||||
<input type="checkbox" class="minimal m-0" id="checkbox_all">
|
||||
</th>
|
||||
<th class="sorting {{ ($sort=='que_id') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="que_id"><span>キューID</span></th>
|
||||
<th class="sorting {{ ($sort=='user_id') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="user_id"><span>利用者名</span></th>
|
||||
<th><span>携帯電話番号</span></th>
|
||||
<th><span>自宅電話番号</span></th>
|
||||
<th class="sorting {{ ($sort=='park_name') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="park_name"><span>駐輪場</span></th>
|
||||
<th class="sorting {{ ($sort=='que_class') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="que_class"><span>キュー種別</span></th>
|
||||
<th class="sorting {{ ($sort=='que_comment') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="que_comment"><span>キューコメント</span></th>
|
||||
<th class="sorting {{ ($sort=='que_status') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="que_status"><span>キューステータス</span></th>
|
||||
<th><span>キューステータスコメント</span></th>
|
||||
<th><span>処理リンク</span></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($list as $item)
|
||||
<tr>
|
||||
<td class="table-warning align-middle">
|
||||
<div class="d-flex align-items-center">
|
||||
<input type="checkbox" class="minimal m-0 checkbox" name="pk[]" value="{{ $item->que_id }}">
|
||||
<a href="{{ route('operator_ques_info', ['id' => $item->que_id]) }}" class="btn btn-sm btn-default ml-2">編集</a>
|
||||
</div>
|
||||
</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->que_id }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ !empty($item->getUser()) ? $item->getUser()->user_name : '' }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ !empty($item->getUser()) ? $item->getUser()->user_mobile : '' }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ !empty($item->getUser()) ? $item->getUser()->user_homephone : '' }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ !empty($item->getPark()) ? $item->getPark()->park_name : '' }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->getQueClassLabel() }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->que_comment }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->getQueStatusLabel() }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->que_status_comment }}</td>
|
||||
<td class="sm-item text-left align-middle"></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ▲ 単一テーブル構成 -->
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<form action="{{ route('operator_ques_export') }}" method="GET" id="form_export"></form>
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
// 全選択・全解除
|
||||
document.getElementById('checkbox_all')?.addEventListener('change', function(e){
|
||||
document.querySelectorAll('.checkbox').forEach(cb => cb.checked = e.target.checked);
|
||||
});
|
||||
|
||||
// 削除確認
|
||||
document.getElementById('delete')?.addEventListener('click', function(){
|
||||
const anyChecked = Array.from(document.querySelectorAll('.checkbox')).some(cb => cb.checked);
|
||||
if (!anyChecked) {
|
||||
alert('削除対象が選択されていません。');
|
||||
return;
|
||||
}
|
||||
if (confirm('削除してよろしいですか?')) {
|
||||
document.getElementById('form_delete').submit();
|
||||
}
|
||||
});
|
||||
|
||||
// ソート
|
||||
document.querySelectorAll('th.sorting').forEach(th => {
|
||||
th.addEventListener('click', function(){
|
||||
const form = document.getElementById('list-form');
|
||||
const current = "{{ $sort ?? '' }}";
|
||||
const currentType = "{{ $sort_type ?? '' }}";
|
||||
const nextCol = this.getAttribute('sort');
|
||||
let nextType = 'asc';
|
||||
if (current === nextCol) {
|
||||
nextType = (currentType === 'asc') ? 'desc' : 'asc';
|
||||
}
|
||||
form.querySelector('[name=sort]').value = nextCol;
|
||||
form.querySelector('[name=sort_type]').value = nextType;
|
||||
form.submit();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
@endsection
|
||||
|
||||
@ -1,320 +1,176 @@
|
||||
@extends('layouts.app')
|
||||
@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><!-- /.col -->
|
||||
<div class="col-lg-6">
|
||||
<ol class="breadcrumb float-sm-right text-sm">
|
||||
<li class="breadcrumb-item"><a href="{{ route('home') }}">XX様info(ホーム)</a></li>
|
||||
<li class="breadcrumb-item"><a href="javascript:void(0);">[東京都|〇〇駐輪場]</a></li>
|
||||
<li class="breadcrumb-item active">{{__('オペレータマスタ')}}</li>
|
||||
</ol>
|
||||
</div><!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.container-fluid -->
|
||||
</div>
|
||||
<!-- /.content-header -->
|
||||
|
||||
<!-- Main content -->
|
||||
<section class="content">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<form action="{{ route('opes') }}" method="post" id="list-form">
|
||||
@csrf
|
||||
<input type="hidden" value="{{ $sort }}" name="sort" id="sort">
|
||||
<input type="hidden" value="{{ $sort_type }}" name="sort_type" id="sort_type">
|
||||
</form>
|
||||
|
||||
<div class="container-fluid mb20">
|
||||
<button type="button" class="btn btn-sm btn-default mr10" onclick="location.href='{{ route('opes_add') }}'"> 新規</button>
|
||||
<button type="submit" class="btn btn-sm btn-default mr10" form="form_delete">{{ __('削除') }}</button>
|
||||
<button type="submit" class="btn btn-sm btn-default mr10" formaction="{{ route('opes_import') }}">{{ __('インポート') }}</button>
|
||||
<button type="submit" class="btn btn-sm btn-default mr10" formaction="{{ route('opes_export') }}">{{ __('CSV出力') }}</button>
|
||||
|
||||
{{ $list->appends(['sort' => $sort,'sort_type'=>$sort_type])->links('pagination') }}
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form col-lg-12">
|
||||
@if(Session::has('success'))
|
||||
<div class="alert alert-success alert-dismissible" role="alert">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
{{ Session::get('success') }}
|
||||
</div>
|
||||
@elseif(Session::has('error'))
|
||||
<div class="alert alert-danger alert-dismissible">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<h4><i class="icon fa fa-ban"></i> {{__('誤差')}}:</h4>
|
||||
{!! Session::get('error') !!}
|
||||
</div>
|
||||
@elseif(isset($errorMsg))
|
||||
<div class="alert alert-danger alert-dismissible">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<h4><i class="icon fa fa-ban"></i> {{__('誤差')}}:</h4>
|
||||
{!! $errorMsg !!}
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div class="col-lg-12 row sample03-wrapper no_padding_right mb20">
|
||||
<div class="col-xl-2 col-lg-2 col-md-2 col-sm-3 col-xs-3 table_left">
|
||||
<form action="{{ route('opes_delete') }}" method="post" id="form_delete">
|
||||
@csrf
|
||||
<table class="table dataTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
<input type="checkbox" class="minimal m-0" id="checkbox_all">
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($list as $item)
|
||||
<tr role="row">
|
||||
<td>
|
||||
<input type="checkbox" class="minimal m-0 checkbox"
|
||||
value="{{ $item->ope_id }}" name="pk[]">
|
||||
<div class="btn_action">
|
||||
<a href="{{ route('opes_info',['id'=>$item->ope_id]) }}"
|
||||
class="btn btn-sm btn-default ml10">{{ __('編集') }}</a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-10 col-xl-10 col-md-10 col-sm-9 col-xs-9 table_right no_padding_right">
|
||||
<div class="scroll">
|
||||
<table class="table dataTable">
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
<!-- オペレータID -->
|
||||
<th class="sorting @if($sort=="ope_id"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
||||
sort="ope_id"><span>{{__('validation.attributes.ope_id')}}</span>
|
||||
</th>
|
||||
<!-- オペレータ名 -->
|
||||
<th class="sorting @if($sort=="ope_name"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
||||
sort="ope_name"><span>{{__('validation.attributes.ope_name')}}</span>
|
||||
</th>
|
||||
<!-- オペレータ名 -->
|
||||
<th><span>{{__('validation.attributes.password')}}</span></th>
|
||||
<!-- オペレータ種別 -->
|
||||
<th class="sorting @if($sort=="ope_type"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
||||
sort="ope_type"><span>{{__('validation.attributes.ope_type')}}</span>
|
||||
</th>
|
||||
<!-- メールアドレス -->
|
||||
<th><span>{{__('validation.attributes.ope_mail')}}</span>
|
||||
</th>
|
||||
<!-- 電話番号 -->
|
||||
<th class="sorting @if($sort=="ope_phone"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
||||
sort="ope_phone"><span>{{__('validation.attributes.ope_phone')}}</span>
|
||||
</th>
|
||||
<!-- キュー1アラート送信 -->
|
||||
<th class="sorting @if($sort=="ope_sendalart_que1"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
||||
sort="ope_sendalart_que1">
|
||||
<span>{{__('validation.attributes.ope_sendalart_que1')}}</span>
|
||||
</th>
|
||||
<!-- キュー2アラート送信 -->
|
||||
<th class="sorting @if($sort=="ope_sendalart_que2"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
||||
sort="ope_sendalart_que2">
|
||||
<span>{{__('validation.attributes.ope_sendalart_que2')}}</span>
|
||||
</th>
|
||||
<!-- キュー3アラート送信 -->
|
||||
<th class="sorting @if($sort=="ope_sendalart_que3"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
||||
sort="ope_sendalart_que3">
|
||||
<span>{{__('validation.attributes.ope_sendalart_que3')}}</span>
|
||||
</th>
|
||||
<!-- キュー4アラート送信 -->
|
||||
<th class="sorting @if($sort=="ope_sendalart_que4"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
||||
sort="ope_sendalart_que4">
|
||||
<span>{{__('validation.attributes.ope_sendalart_que4')}}</span>
|
||||
</th>
|
||||
<!-- キュー5アラート送信 -->
|
||||
<th class="sorting @if($sort=="ope_sendalart_que5"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
||||
sort="ope_sendalart_que5">
|
||||
<span>{{__('validation.attributes.ope_sendalart_que5')}}</span>
|
||||
</th>
|
||||
<!-- キュー6アラート送信 -->
|
||||
<th class="sorting @if($sort=="ope_sendalart_que6"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
||||
sort="ope_sendalart_que6">
|
||||
<span>{{__('validation.attributes.ope_sendalart_que6')}}</span>
|
||||
</th>
|
||||
<!-- キュー7アラート送信 -->
|
||||
<th class="sorting @if($sort=="ope_sendalart_que7"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
||||
sort="ope_sendalart_que7">
|
||||
<span>{{__('validation.attributes.ope_sendalart_que7')}}</span>
|
||||
</th>
|
||||
|
||||
<!-- キュー8アラート送信 -->
|
||||
<th class="sorting @if($sort=="ope_sendalart_que8"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
||||
sort="ope_sendalart_que8">
|
||||
<span>{{__('validation.attributes.ope_sendalart_que8')}}</span>
|
||||
</th>
|
||||
<!-- キュー9アラート送信 -->
|
||||
<th class="sorting @if($sort=="ope_sendalart_que9"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
||||
sort="ope_sendalart_que9">
|
||||
<span>{{__('validation.attributes.ope_sendalart_que9')}}</span>
|
||||
</th>
|
||||
|
||||
<!-- キュー10アラート送信 -->
|
||||
<th class="sorting @if($sort=="ope_sendalart_que10"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
||||
sort="ope_sendalart_que10">
|
||||
<span>{{__('validation.attributes.ope_sendalart_que10')}}</span>
|
||||
</th>
|
||||
|
||||
<!-- キュー11アラート送信 -->
|
||||
<th class="sorting @if($sort=="ope_sendalart_que11"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
||||
sort="ope_sendalart_que11">
|
||||
<span>{{__('validation.attributes.ope_sendalart_que11')}}</span>
|
||||
</th>
|
||||
|
||||
<!-- キュー12アラート送信 -->
|
||||
<th class="sorting @if($sort=="ope_sendalart_que12"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
||||
sort="ope_sendalart_que12">
|
||||
<span>{{__('validation.attributes.ope_sendalart_que12')}}</span>
|
||||
</th>
|
||||
|
||||
<!-- キュー13アラート送信 -->
|
||||
<th class="sorting @if($sort=="ope_sendalart_que13"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
||||
sort="ope_sendalart_que13">
|
||||
<span>{{__('validation.attributes.ope_sendalart_que13')}}</span>
|
||||
</th>
|
||||
|
||||
<!-- 管理者権限付与 -->
|
||||
<th class="sorting @if($sort=="ope_auth1"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
||||
sort="ope_auth1">
|
||||
<span>{{__('validation.attributes.ope_auth1')}}</span>
|
||||
</th>
|
||||
|
||||
<!-- エリアマネージャー権限付与 -->
|
||||
<th class="sorting @if($sort=="ope_auth1"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
||||
sort="ope_auth1">
|
||||
<span>{{__('validation.attributes.ope_auth1')}}</span>
|
||||
</th>
|
||||
|
||||
<!-- エリアオペレーター権限付与 -->
|
||||
<th class="sorting @if($sort=="ope_auth1"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
||||
sort="ope_auth1">
|
||||
<span>{{__('validation.attributes.ope_auth1')}}</span>
|
||||
</th>
|
||||
|
||||
<!-- オペレーター権限付与 -->
|
||||
<th class="sorting @if($sort=="ope_auth1"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
||||
sort="ope_auth1">
|
||||
<span>{{__('validation.attributes.ope_auth1')}}</span>
|
||||
</th>
|
||||
<!-- 退職フラグ -->
|
||||
<th class="sorting @if($sort=="ope_quit_flag"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
||||
sort="ope_quit_flag"><span>{{__('validation.attributes.ope_quit_flag')}}</span>
|
||||
</th>
|
||||
<!-- 退職日 -->
|
||||
<th class="sorting @if($sort=="ope_quitday"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
||||
sort="ope_quitday"><span>{{__('validation.attributes.ope_quitday')}}</span>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($list as $item)
|
||||
<tr>
|
||||
<!-- オペレータID -->
|
||||
<td class='sm-item text-left'><span>{{mb_substr($item->ope_id, 0, 10)}}</span>
|
||||
</td>
|
||||
<!-- オペレータ名 -->
|
||||
<td class='sm-item text-right'><span>{{mb_substr($item->ope_name, 0, 10)}}</span>
|
||||
</td>
|
||||
<td class='sm-item text-right'><span>{{mb_substr($item->ope_pass, 0, 10)}}</span>
|
||||
</td>
|
||||
<!-- オペレータ種別 -->
|
||||
<td class='sm-item text-right'>
|
||||
<span>{{ __( \App\Models\Ope::OPE_TYPE[$item->ope_type] ) }}</span>
|
||||
</td>
|
||||
<!-- メールアドレス -->
|
||||
<td class='sm-item text-right'><span>{{mb_substr($item->ope_mail, 0, 10)}}</span>
|
||||
</td>
|
||||
<!-- 電話番号 -->
|
||||
<td class='sm-item text-left'>
|
||||
<span>{{mb_substr($item->ope_phone, 0, 15)}}</span></td>
|
||||
<!-- キュー1アラート送信 -->
|
||||
<td class='sm-item text-right'>
|
||||
<span>{{$item->ope_sendalart_que1?__("はい"):__("いいえ")}}</span></td>
|
||||
<!-- キュー2アラート送信 -->
|
||||
<td class='sm-item text-right'>
|
||||
<span>{{$item->ope_sendalart_que2?__("はい"):__("いいえ")}}</span></td>
|
||||
<!-- キュー3アラート送信 -->
|
||||
<td class='sm-item text-right'>
|
||||
<span>{{$item->ope_sendalart_que3?__("はい"):__("いいえ")}}</span></td>
|
||||
<!-- キュー4アラート送信 -->
|
||||
<td class='sm-item text-right'>
|
||||
<span>{{$item->ope_sendalart_que4?__("はい"):__("いいえ")}}</span></td>
|
||||
<!-- キュー5アラート送信 -->
|
||||
<td class='sm-item text-right'>
|
||||
<span>{{$item->ope_sendalart_que5?__("はい"):__("いいえ")}}</span></td>
|
||||
<!-- キュー6アラート送信 -->
|
||||
<td class='sm-item text-right'>
|
||||
<span>{{$item->ope_sendalart_que6?__("はい"):__("いいえ")}}</span></td>
|
||||
<!-- キュー7アラート送信 -->
|
||||
<td class='sm-item text-right'>
|
||||
<span>{{$item->ope_sendalart_que7?__("はい"):__("いいえ")}}</span></td>
|
||||
|
||||
<!-- キュー8アラート送信 -->
|
||||
<td class='sm-item text-right'>
|
||||
<span>{{$item->ope_sendalart_que8?__("はい"):__("いいえ")}}</span></td>
|
||||
<!-- キュー9アラート送信 -->
|
||||
<td class='sm-item text-right'>
|
||||
<span>{{$item->ope_sendalart_que9?__("はい"):__("いいえ")}}</span></td>
|
||||
<!-- キュー10アラート送信 -->
|
||||
<td class='sm-item text-right'>
|
||||
<span>{{$item->ope_sendalart_que10?__("はい"):__("いいえ")}}</span></td>
|
||||
<!-- キュー11アラート送信 -->
|
||||
<td class='sm-item text-right'>
|
||||
<span>{{$item->ope_sendalart_que11?__("はい"):__("いいえ")}}</span></td>
|
||||
<!-- キュー12アラート送信 -->
|
||||
<td class='sm-item text-right'>
|
||||
<span>{{$item->ope_sendalart_que12?__("はい"):__("いいえ")}}</span></td>
|
||||
<!-- キュー13アラート送信 -->
|
||||
<td class='sm-item text-right'>
|
||||
<span>{{$item->ope_sendalart_que13?__("はい"):__("いいえ")}}</span></td>
|
||||
|
||||
<!-- 管理者権限付与 -->
|
||||
<td class='sm-item text-right'>
|
||||
<span>{{$item->ope_auth1}}</span></td>
|
||||
<!-- エリアマネージャー権限付与 -->
|
||||
<td class='sm-item text-right'>
|
||||
<span>{{$item->ope_auth2}}</span></td>
|
||||
<!-- エリアオペレーター権限付与 -->
|
||||
<td class='sm-item text-right'>
|
||||
<span>{{$item->ope_auth3}}</span></td>
|
||||
<!-- オペレーター権限付与 -->
|
||||
<td class='sm-item text-right'>
|
||||
<span>{{$item->ope_auth4}}</span></td>
|
||||
<!-- 退職フラグ -->
|
||||
<td class='sm-item text-right'><span>{{$item->ope_quit_flag?__("退職"):__("退職しない")}}</span>
|
||||
</td>
|
||||
<!-- 退職日 -->
|
||||
<td class='sm-item text-right'>
|
||||
@if($item->ope_quitday)
|
||||
<span class="text-muted"><i class="fa fa-clock-o mr-1"></i>
|
||||
{{mb_substr($item->ope_quitday, 0, 10)}}
|
||||
</span>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</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><!-- /.container-fluid -->
|
||||
</section>
|
||||
<!-- /.content -->
|
||||
@endsection
|
||||
<div class="col-lg-6">
|
||||
<ol class="breadcrumb float-sm-right text-sm">
|
||||
<li class="breadcrumb-item"><a href="{{ route('home') }}">XX様info(ホーム)</a></li>
|
||||
<li class="breadcrumb-item"><a href="javascript:void(0);">[東京都|〇〇駐輪場]</a></li>
|
||||
<li class="breadcrumb-item active">オペレータマスタ</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<section class="content">
|
||||
<div class="container-fluid">
|
||||
{{-- 並び替え用 hidden --}}
|
||||
<form action="{{ route('opes') }}" method="POST" id="list-form">
|
||||
@csrf
|
||||
<input type="hidden" name="sort" value="{{ $sort ?? '' }}">
|
||||
<input type="hidden" name="sort_type" value="{{ $sort_type ?? '' }}">
|
||||
</form>
|
||||
|
||||
<!-- ツールバー -->
|
||||
<div class="container-fluid mb20">
|
||||
<button type="button" class="btn btn-sm btn-default mr10" onclick="location.href='{{ route('opes_add') }}'">新規</button>
|
||||
<button type="button" class="btn btn-sm btn-default mr10" id="delete">削除</button>
|
||||
<button type="submit" class="btn btn-sm btn-default mr10" formaction="{{ route('opes_import') }}">インポート</button>
|
||||
<button type="submit" class="btn btn-sm btn-default mr10" formaction="{{ route('opes_export') }}">CSV出力</button>
|
||||
<div class="d-flex justify-content-end">
|
||||
{{ $list->appends(['sort' => $sort, 'sort_type' => $sort_type])->links('pagination') }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- メッセージ表示 -->
|
||||
<div class="form col-lg-12">
|
||||
@if(Session::has('success'))
|
||||
<div class="alert alert-success alert-dismissible" role="alert">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
{{ Session::get('success') }}
|
||||
</div>
|
||||
@elseif(Session::has('error'))
|
||||
<div class="alert alert-danger alert-dismissible">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<h4><i class="icon fa fa-ban"></i> エラー:</h4>
|
||||
{!! Session::get('error') !!}
|
||||
</div>
|
||||
@elseif(isset($errorMsg))
|
||||
<div class="alert alert-danger alert-dismissible">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<h4><i class="icon fa fa-ban"></i> エラー:</h4>
|
||||
{!! $errorMsg !!}
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<!-- ▼ 単一テーブル構成 ----------------------------------------- -->
|
||||
<div class="col-lg-12 mb20">
|
||||
<div class="table-responsive">
|
||||
<form action="{{ route('opes_delete') }}" method="POST" id="form_delete">
|
||||
@csrf
|
||||
<table class="table table-bordered table-striped dataTable text-nowrap">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width:120px;" class="text-left">
|
||||
<input type="checkbox" class="minimal m-0" id="checkbox_all">
|
||||
</th>
|
||||
<th class="sorting {{ ($sort=='ope_id') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="ope_id"><span>オペレータID</span></th>
|
||||
<th class="sorting {{ ($sort=='ope_name') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="ope_name"><span>オペレータ名</span></th>
|
||||
<th><span>パスワード</span></th>
|
||||
<th class="sorting {{ ($sort=='ope_type') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="ope_type"><span>オペレータ種別</span></th>
|
||||
<th><span>メールアドレス</span></th>
|
||||
<th class="sorting {{ ($sort=='ope_phone') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="ope_phone"><span>電話番号</span></th>
|
||||
<th><span>キュー1~13アラート送信</span></th>
|
||||
<th><span>管理者権限</span></th>
|
||||
<th><span>エリアマネージャー</span></th>
|
||||
<th><span>エリアオペレーター</span></th>
|
||||
<th><span>オペレーター権限</span></th>
|
||||
<th class="sorting {{ ($sort=='ope_quit_flag') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="ope_quit_flag"><span>退職フラグ</span></th>
|
||||
<th class="sorting {{ ($sort=='ope_quitday') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="ope_quitday"><span>退職日</span></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($list as $item)
|
||||
<tr>
|
||||
<td class="table-warning align-middle">
|
||||
<div class="d-flex align-items-center">
|
||||
<input type="checkbox" class="minimal m-0 checkbox" name="pk[]" value="{{ $item->ope_id }}">
|
||||
<a href="{{ route('opes_info', ['id' => $item->ope_id]) }}" class="btn btn-sm btn-default ml-2">編集</a>
|
||||
</div>
|
||||
</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->ope_id }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->ope_name }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->ope_pass }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ \App\Models\Ope::OPE_TYPE[$item->ope_type] }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->ope_mail }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->ope_phone }}</td>
|
||||
<td class="sm-item text-left align-middle">
|
||||
{{ $item->ope_sendalart_que1 ? 'はい' : 'いいえ' }} /
|
||||
{{ $item->ope_sendalart_que2 ? 'はい' : 'いいえ' }} /
|
||||
{{ $item->ope_sendalart_que3 ? 'はい' : 'いいえ' }} /
|
||||
{{ $item->ope_sendalart_que4 ? 'はい' : 'いいえ' }} /
|
||||
{{ $item->ope_sendalart_que5 ? 'はい' : 'いいえ' }} /
|
||||
{{ $item->ope_sendalart_que6 ? 'はい' : 'いいえ' }} /
|
||||
{{ $item->ope_sendalart_que7 ? 'はい' : 'いいえ' }} /
|
||||
{{ $item->ope_sendalart_que8 ? 'はい' : 'いいえ' }} /
|
||||
{{ $item->ope_sendalart_que9 ? 'はい' : 'いいえ' }} /
|
||||
{{ $item->ope_sendalart_que10 ? 'はい' : 'いいえ' }} /
|
||||
{{ $item->ope_sendalart_que11 ? 'はい' : 'いいえ' }} /
|
||||
{{ $item->ope_sendalart_que12 ? 'はい' : 'いいえ' }} /
|
||||
{{ $item->ope_sendalart_que13 ? 'はい' : 'いいえ' }}
|
||||
</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->ope_auth1 }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->ope_auth2 }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->ope_auth3 }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->ope_auth4 }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->ope_quit_flag ? '退職' : '在籍中' }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->ope_quitday }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ▲ 単一テーブル構成ここまで ----------------------------------------- -->
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<form action="{{ route('opes_export') }}" method="GET" id="form_export"></form>
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
// 全選択
|
||||
document.getElementById('checkbox_all')?.addEventListener('change', function(e){
|
||||
document.querySelectorAll('.checkbox').forEach(cb => cb.checked = e.target.checked);
|
||||
});
|
||||
|
||||
// 削除確認
|
||||
document.getElementById('delete')?.addEventListener('click', function(){
|
||||
const anyChecked = Array.from(document.querySelectorAll('.checkbox')).some(cb => cb.checked);
|
||||
if (!anyChecked) {
|
||||
alert('削除対象が選択されていません。');
|
||||
return;
|
||||
}
|
||||
if (confirm('削除してよろしいですか?')) {
|
||||
document.getElementById('form_delete').submit();
|
||||
}
|
||||
});
|
||||
|
||||
// ソート
|
||||
document.querySelectorAll('th.sorting').forEach(th => {
|
||||
th.addEventListener('click', function(){
|
||||
const form = document.getElementById('list-form');
|
||||
const current = "{{ $sort ?? '' }}";
|
||||
const currentType = "{{ $sort_type ?? '' }}";
|
||||
const nextCol = this.getAttribute('sort');
|
||||
let nextType = 'asc';
|
||||
if (current === nextCol) {
|
||||
nextType = (currentType === 'asc') ? 'desc' : 'asc';
|
||||
}
|
||||
form.querySelector('[name=sort]').value = nextCol;
|
||||
form.querySelector('[name=sort_type]').value = nextType;
|
||||
form.submit();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
@endsection
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
{{-- 登録・削除 ボタン(上部) --}}
|
||||
<div class="text-left mt-2 mb-3">
|
||||
@if($isInfo)
|
||||
<a href="{{ route('payments_edit', ['payment_id' => $payment->payment_id]) }}" class="btn btn-lg btn-success">編集</a>
|
||||
<a href="{{ route('payments_edit', ['id' => $payment->payment_id]) }}" class="btn btn-lg btn-success">編集</a>
|
||||
@else
|
||||
<button type="submit" class="btn btn-lg btn-success">登録</button>
|
||||
@if($isEdit)
|
||||
@ -198,7 +198,7 @@
|
||||
{{-- 登録・削除 ボタン(下部重ね) --}}
|
||||
<div class="text-left mt-2">
|
||||
@if($isInfo)
|
||||
<a href="{{ route('payments_edit', ['payment_id' => $payment->payment_id]) }}" class="btn btn-lg btn-success">編集</a>
|
||||
<a href="{{ route('payments_edit', ['id' => $payment->payment_id]) }}" class="btn btn-lg btn-success">編集</a>
|
||||
@else
|
||||
<button type="submit" class="btn btn-lg btn-success">登録</button>
|
||||
@if($isEdit)
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
|
||||
<section class="content">
|
||||
<div class="container-fluid">
|
||||
<form action="{{ route('payments_edit', ['payment_id' => $payment->payment_id]) }}" method="POST">
|
||||
<form action="{{ route('payments_edit', ['id' => $payment->payment_id]) }}" method="POST">
|
||||
@csrf
|
||||
@include('admin.payments._form', [
|
||||
'payment' => $payment,
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
@extends('layouts.app')
|
||||
@section('title', '決済情報マスタ')
|
||||
@section('title', '[東京都|〇〇駐輪場] 決済情報マスタ')
|
||||
|
||||
@section('content')
|
||||
<!-- Content Header -->
|
||||
@ -24,60 +24,51 @@
|
||||
<section class="content">
|
||||
<div class="container-fluid">
|
||||
|
||||
{{-- 一覧のソート用(既存規約踏襲) --}}
|
||||
{{-- 並び替え用 hidden --}}
|
||||
<form action="{{ route('payments') }}" method="POST" id="list-form">
|
||||
@csrf
|
||||
<input type="hidden" name="sort" value="{{ $sort ?? '' }}">
|
||||
<input type="hidden" name="sort_type" value="{{ $sort_type ?? '' }}">
|
||||
</form>
|
||||
|
||||
<!-- ツールバー -->
|
||||
<div class="container-fluid mb20">
|
||||
<button type="button" class="btn btn-sm btn-default mr10" onclick="location.href='{{ route('payments_add') }}'">新規</button>
|
||||
<button type="button" class="btn btn-sm btn-default mr10" id="delete">削除</button>
|
||||
{{ $payments->appends(['sort' => $sort ?? '', 'sort_type' => $sort_type ?? ''])->links('pagination') }}
|
||||
<button type="submit" class="btn btn-sm btn-default mr10" form="form_export">{{ __('CSV出力') }}</button>
|
||||
<div class="d-flex justify-content-end">
|
||||
{{ $payments->appends(['sort' => $sort ?? '', 'sort_type' => $sort_type ?? ''])->links('pagination') }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-12">
|
||||
@if(session('success'))
|
||||
<div class="alert alert-success alert-dismissible">{{ session('success') }}</div>
|
||||
@elseif(session('error'))
|
||||
<div class="alert alert-danger alert-dismissible">{{ session('error') }}</div>
|
||||
<!-- メッセージ表示 -->
|
||||
<div class="form col-lg-12">
|
||||
@if(Session::has('success'))
|
||||
<div class="alert alert-success alert-dismissible" role="alert">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
{{ Session::get('success') }}
|
||||
</div>
|
||||
@elseif(Session::has('error'))
|
||||
<div class="alert alert-danger alert-dismissible">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<h4><i class="icon fa fa-ban"></i> {{ __('誤差') }}:</h4>
|
||||
{!! Session::get('error') !!}
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div class="col-lg-12 row sample03-wrapper no_padding_right mb20">
|
||||
<!-- 左側チェックボックス&編集ボタン -->
|
||||
<div class="col-xl-2 col-lg-2 col-md-2 col-sm-3 col-xs-3 table_left">
|
||||
<!-- ▼ 単一テーブル構成 ----------------------------------------- -->
|
||||
<div class="col-lg-12 mb20">
|
||||
<div class="table-responsive">
|
||||
<form action="{{ route('payments_delete') }}" method="POST" id="form_delete">
|
||||
@csrf
|
||||
<table class="table dataTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" class="minimal m-0" id="checkbox_all"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($payments as $payment)
|
||||
<tr>
|
||||
<td>
|
||||
<input type="checkbox" class="minimal m-0 checkbox" value="{{ $payment->payment_id }}" name="id[]">
|
||||
<div class="btn_action">
|
||||
<a href="{{ route('payments_edit', ['payment_id' => $payment->payment_id]) }}" class="btn btn-sm btn-default ml10">編集</a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!-- 右側データテーブル -->
|
||||
<div class="col-lg-10 col-xl-10 col-md-10 col-sm-9 col-xs-9 table_right no_padding_right">
|
||||
<div class="scroll">
|
||||
<table class="table dataTable">
|
||||
<table class="table table-bordered table-striped dataTable text-nowrap">
|
||||
<thead>
|
||||
<tr>
|
||||
{{-- チェック + 編集 --}}
|
||||
<th style="width:120px;" class="text-left">
|
||||
<input type="checkbox" class="minimal m-0" id="checkbox_all">
|
||||
</th>
|
||||
<th class="sorting {{ ($sort=='payment_id') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="payment_id">
|
||||
<span>決済情報ID</span>
|
||||
</th>
|
||||
@ -101,26 +92,34 @@
|
||||
<tbody>
|
||||
@foreach($payments as $payment)
|
||||
<tr>
|
||||
<td class="sm-item text-left">{{ $payment->payment_id }}</td>
|
||||
<td class="sm-item text-left">{{ $payment->payment_companyname }}</td>
|
||||
<td class="sm-item text-left">{{ $payment->payment_inquirytel }}</td>
|
||||
<td class="sm-item text-left">{{ $payment->payment_inquiryname }}</td>
|
||||
<td class="sm-item text-left">{{ $payment->payment_time }}</td>
|
||||
<td class="sm-item text-left">{{ optional($payment->updated_at)->format('Y-m-d H:i') }}</td>
|
||||
{{-- 同じセルに チェック + 編集ボタン --}}
|
||||
<td class="table-warning align-middle">
|
||||
<div class="d-flex align-items-center">
|
||||
<input type="checkbox" class="minimal m-0 checkbox" name="id[]" value="{{ $payment->payment_id }}">
|
||||
<a href="{{ route('payments_edit', ['id' => $payment->payment_id]) }}" class="btn btn-sm btn-default ml-2">編集</a>
|
||||
</div>
|
||||
</td>
|
||||
<td class="sm-item text-left align-middle">{{ $payment->payment_id }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $payment->payment_companyname }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $payment->payment_inquirytel }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $payment->payment_inquiryname }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $payment->payment_time }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ optional($payment->updated_at)->format('Y-m-d H:i') }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- ▲ 単一テーブル構成ここまで ----------------------------------------- -->
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<form action="{{ route('payments_export') }}" method="GET" id="form_export"></form>
|
||||
|
||||
{{-- 一括削除 & ソートのJS(既存規約に合わせ最小限) --}}
|
||||
{{-- 一括削除 & ソートのJS --}}
|
||||
@push('scripts')
|
||||
<script>
|
||||
// 全選択
|
||||
@ -140,7 +139,7 @@
|
||||
}
|
||||
});
|
||||
|
||||
// ヘッダクリックでソート変更(既存 list と同様のカスタム属性 "sort" を使用)
|
||||
// ヘッダクリックでソート
|
||||
document.querySelectorAll('th.sorting').forEach(th => {
|
||||
th.addEventListener('click', function(){
|
||||
const form = document.getElementById('list-form');
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
|
||||
<section class="content">
|
||||
<div class="container-fluid">
|
||||
<form method="POST" action="{{ route('print_areas_edit', ['print_area_id' => $record->print_area_id]) }}">
|
||||
<form method="POST" action="{{ route('print_areas_edit', ['id' => $record->print_area_id]) }}">
|
||||
@csrf
|
||||
|
||||
@include('admin.print_areas._form', [
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
|
||||
<section class="content">
|
||||
<div class="container-fluid">
|
||||
<form method="POST" action="{{ route('print_areas_info', ['print_area_id' => $record->print_area_id]) }}">
|
||||
<form method="POST" action="{{ route('print_areas_info', ['id' => $record->print_area_id]) }}">
|
||||
@csrf
|
||||
@include('admin.print_areas._form', ['isEdit' => 0, 'isInfo' => 1])
|
||||
</form>
|
||||
|
||||
@ -12,6 +12,7 @@
|
||||
<div class="col-lg-6">
|
||||
<ol class="breadcrumb float-sm-right text-sm">
|
||||
<li class="breadcrumb-item"><a href="{{ route('home') }}">XX様info(ホーム)</a></li>
|
||||
<li class="breadcrumb-item"><a href="javascript:void(0);">[東京都|〇〇駐輪場]</a></li>
|
||||
<li class="breadcrumb-item active">シール印刷範囲マスタ</li>
|
||||
</ol>
|
||||
</div>
|
||||
@ -19,21 +20,28 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Main Content -->
|
||||
<section class="content">
|
||||
<div class="container-fluid">
|
||||
|
||||
{{-- 並び替え用 hidden --}}
|
||||
<form action="{{ route('print_areas') }}" method="POST" id="list-form">
|
||||
@csrf
|
||||
<input type="hidden" name="sort" value="{{ $sort ?? '' }}">
|
||||
<input type="hidden" name="sort_type" value="{{ $sort_type ?? '' }}">
|
||||
</form>
|
||||
|
||||
<!-- 操作ボタン + ページネーション -->
|
||||
<div class="container-fluid mb20">
|
||||
<button type="button" class="btn btn-sm btn-default mr10" onclick="location.href='{{ route('print_areas_add') }}'">新規</button>
|
||||
<button type="submit" class="btn btn-sm btn-default mr10" form="form_delete" onclick="return confirm('選択された項目を削除しますか?');">削除</button>
|
||||
<button type="button" class="btn btn-sm btn-default mr10" id="delete">削除</button>
|
||||
<button type="submit" class="btn btn-sm btn-default mr10" form="form_export">CSV出力</button>
|
||||
{{ $list->appends(['sort' => $sort ?? '', 'sort_type' => $sort_type ?? ''])->links('pagination') }}
|
||||
<div class="d-flex justify-content-end">
|
||||
{{ $list->appends(['sort' => $sort ?? '', 'sort_type' => $sort_type ?? ''])->links('pagination') }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- メッセージ表示 -->
|
||||
<div class="col-lg-12">
|
||||
@if(session('success'))
|
||||
<div class="alert alert-success alert-dismissible">{{ session('success') }}</div>
|
||||
@ -42,57 +50,44 @@
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div class="col-lg-12 row sample03-wrapper no_padding_right mb20">
|
||||
<!-- 左側チェックボックス -->
|
||||
<div class="col-xl-2 col-lg-2 col-md-2 col-sm-3 col-xs-3 table_left">
|
||||
<!-- ▼ 単一テーブル構成 -->
|
||||
<div class="col-lg-12 mb20">
|
||||
<div class="table-responsive">
|
||||
<form action="{{ route('print_areas_delete') }}" method="POST" id="form_delete">
|
||||
@csrf
|
||||
<table class="table dataTable">
|
||||
<table class="table table-bordered table-striped dataTable text-nowrap">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" class="minimal m-0" id="checkbox_all"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($list as $item)
|
||||
<tr>
|
||||
<td>
|
||||
<input type="checkbox" class="minimal m-0 checkbox" value="{{ $item->print_area_id }}" name="pk[]">
|
||||
<div class="btn_action">
|
||||
<a href="{{ route('print_areas_edit', ['print_area_id' => $item->print_area_id]) }}" class="btn btn-sm btn-default ml10">編集</a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!-- 右側データテーブル -->
|
||||
<div class="col-lg-10 col-xl-10 col-md-10 col-sm-9 col-xs-9 table_right no_padding_right">
|
||||
<div class="scroll">
|
||||
<table class="table dataTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><span>印刷範囲ID</span></th>
|
||||
<th><span>印刷範囲名</span></th>
|
||||
{{-- チェック + 編集ボタン --}}
|
||||
<th style="width:120px;" class="text-left">
|
||||
<input type="checkbox" class="minimal m-0" id="checkbox_all">
|
||||
</th>
|
||||
<th class="sorting {{ ($sort=='print_area_id') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="print_area_id"><span>印刷範囲ID</span></th>
|
||||
<th class="sorting {{ ($sort=='print_area_name') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="print_area_name"><span>印刷範囲名</span></th>
|
||||
<th><span>駐輪場名</span></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($list as $item)
|
||||
<tr>
|
||||
<td class="sm-item text-left">{{ $item->print_area_id }}</td>
|
||||
<td class="sm-item text-left">{{ $item->print_area_name }}</td>
|
||||
<td class="sm-item text-left">{{ optional($item->park)->park_name }}</td>
|
||||
<td class="table-warning align-middle">
|
||||
<div class="d-flex align-items-center">
|
||||
<input type="checkbox" class="minimal m-0 checkbox" name="pk[]" value="{{ $item->print_area_id }}">
|
||||
<a href="{{ route('print_areas_edit', ['id' => $item->print_area_id]) }}"
|
||||
class="btn btn-sm btn-default ml-2">{{ __('編集') }}</a>
|
||||
</div>
|
||||
</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->print_area_id }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->print_area_name }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ optional($item->park)->park_name ?? '-' }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ▲ 単一テーブル構成ここまで -->
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
@ -18,8 +18,8 @@
|
||||
@endif
|
||||
<div class="card-header">
|
||||
@if($isInfo)
|
||||
<a href="{{route('regular_type_add')}}" class="btn btn-lg btn-success">{{__('登録')}}</a>
|
||||
<a href="{{route('regular_type_edit',['id'=>$regular_type_id])}}" class="btn btn-lg btn-danger">{{__('編集')}}</a>
|
||||
<a href="{{route('regular_types_add')}}" class="btn btn-lg btn-success">{{__('登録')}}</a>
|
||||
<a href="{{route('regular_types_edit',['id'=>$regular_type_id])}}" class="btn btn-lg btn-danger">{{__('編集')}}</a>
|
||||
@else
|
||||
<button type="submit" class="btn btn-lg btn-danger register" >{{__('保存')}}</button>
|
||||
@endIf
|
||||
@ -171,8 +171,8 @@
|
||||
</div>
|
||||
</div>
|
||||
@if($isInfo)
|
||||
<a href="{{route('regular_type_add')}}" class="btn btn-lg btn-success">{{__('登録')}}</a>
|
||||
<a href="{{route('regular_type_edit',['id'=>$regular_type_id])}}" class="btn btn-lg btn-danger">{{__('編集')}}</a>
|
||||
<a href="{{route('regular_types_add')}}" class="btn btn-lg btn-success">{{__('登録')}}</a>
|
||||
<a href="{{route('regular_types_edit',['id'=>$regular_type_id])}}" class="btn btn-lg btn-danger">{{__('編集')}}</a>
|
||||
@else
|
||||
<button type="submit" class="btn btn-lg btn-danger register" >{{__('保存')}}</button>
|
||||
@endIf
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="card">
|
||||
<form method="post" action="{{ route('regular_type_add')}}" enctype="multipart/form-data">
|
||||
<form method="post" action="{{ route('regular_types_add')}}" enctype="multipart/form-data">
|
||||
<!-- TOKEN FORM -->
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}" >
|
||||
<!-- / .TOKEN FORM -->
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="card">
|
||||
<form method="post" action="{{ route('regular_type_edit',['id'=>$regular_type_id])}}" enctype="multipart/form-data">
|
||||
<form method="post" action="{{ route('regular_types_edit',['id'=>$regular_type_id])}}" enctype="multipart/form-data">
|
||||
<!-- TOKEN FORM -->
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}" >
|
||||
<!-- / .TOKEN FORM -->
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="card">
|
||||
<form method="post" action="{{ route('regular_type_info',['id'=>$regular_type_id])}}" enctype="multipart/form-data">
|
||||
<form method="post" action="{{ route('regular_types_info',['id'=>$regular_type_id])}}" enctype="multipart/form-data">
|
||||
<!-- TOKEN FORM -->
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}" >
|
||||
<!-- / .TOKEN FORM -->
|
||||
|
||||
@ -1,169 +1,114 @@
|
||||
@extends('layouts.app')
|
||||
@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') }}">XX様info(ホーム)</a></li>
|
||||
<li class="breadcrumb-item"><a href="javascript:void(0);">[東京都|〇〇駐輪場]</a></li>
|
||||
<li class="breadcrumb-item active">{{ __('定期種別マスタ') }}</li>
|
||||
</ol>
|
||||
</div>
|
||||
<!-- 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') }}">XX様info(ホーム)</a></li>
|
||||
<li class="breadcrumb-item"><a href="javascript:void(0);">[東京都|〇〇駐輪場]</a></li>
|
||||
<li class="breadcrumb-item active">定期種別マスタ</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<section class="content">
|
||||
<div class="container-fluid">
|
||||
<!-- Main Content -->
|
||||
<section class="content">
|
||||
<div class="container-fluid">
|
||||
|
||||
<div class="row">
|
||||
<form action="{{ route('regular_types') }}" method="post" id="list-form">
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
||||
<input type="hidden" value="{{ $sort }}" name="sort" id="sort">
|
||||
<input type="hidden" value="{{ $sort_type }}" name="sort_type" id="sort_type">
|
||||
</form>
|
||||
{{-- 並び替え用 hidden --}}
|
||||
<form action="{{ route('regular_types') }}" method="POST" id="list-form">
|
||||
@csrf
|
||||
<input type="hidden" name="sort" value="{{ $sort ?? '' }}">
|
||||
<input type="hidden" name="sort_type" value="{{ $sort_type ?? '' }}">
|
||||
</form>
|
||||
|
||||
<div class="container-fluid mb20">
|
||||
<button type="submit" class="btn btn-sm btn-default mr10" name="delete" id="delete">{{ __('削除') }}</button>
|
||||
<button type="submit" class="btn btn-sm btn-default mr10" name="import_csv" id="import_csv" action="{{ route('regular_types_import') }}">{{ __('インポート') }}</button>
|
||||
<button type="submit" class="btn btn-sm btn-default mr10" name="export_csv" id="export_csv" action="{{ route('regular_types_export') }}">{{ __('CSV出力') }}</button>
|
||||
{{ $list->appends(['sort' => $sort, 'sort_type' => $sort_type])->links('pagination') }}
|
||||
</div>
|
||||
|
||||
<div class="form col-lg-12">
|
||||
@if(Session::has('success'))
|
||||
<div class="alert alert-success alert-dismissible" role="alert">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
{{ Session::get('success') }}
|
||||
</div>
|
||||
@elseif(Session::has('error'))
|
||||
<div class="alert alert-danger alert-dismissible">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<h4><i class="icon fa fa-ban"></i> {{ __('誤差') }}:</h4>
|
||||
{!! Session::get('error') !!}
|
||||
</div>
|
||||
@elseif(isset($errorMsg))
|
||||
<div class="alert alert-danger alert-dismissible">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<h4><i class="icon fa fa-ban"></i> {{ __('誤差') }}:</h4>
|
||||
{!! $errorMsg !!}
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div class="col-lg-12 row sample03-wrapper no_padding_right mb20">
|
||||
<div class="col-xl-2 col-lg-2 col-md-2 col-sm-3 col-xs-3 table_left">
|
||||
<form action="{{ route('regular_types_delete') }}" method="post" id="form_delete">
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
||||
<table class="table dataTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" class="minimal m-0" id="checkbox_all"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($list as $item)
|
||||
<tr role="row">
|
||||
<td>
|
||||
<input type="checkbox" class="minimal m-0 checkbox" value="{{ $item->regular_type_id }}" name="pk[]">
|
||||
<div class="btn_action">
|
||||
<a href="{{ route('regular_type_info', ['id' => $item->regular_type_id]) }}" class="btn btn-sm btn-default ml10">{{ __('編集') }}</a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-10 col-xl-10 col-md-10 col-sm-9 col-xs-9 table_right no_padding_right">
|
||||
<div class="scroll">
|
||||
<table class="table dataTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<!-- 定期種別ID -->
|
||||
<th class="sorting @if($sort=='regular_type_id'){{ $sort_type=='asc'?'sorting_asc':'sorting_desc' }}@endif" sort="regular_type_id">
|
||||
<span>{{ __('validation.attributes.regular_type_id') }}</span>
|
||||
</th>
|
||||
<!-- 市区名 -->
|
||||
<th><span>{{ __('validation.attributes.city_name') }}</span></th>
|
||||
<!-- 定期種別1 -->
|
||||
<th><span>{{ __('validation.attributes.regular_class_1') }}</span></th>
|
||||
<!-- 定期種別2 -->
|
||||
<th><span>{{ __('validation.attributes.regular_class_2') }}</span></th>
|
||||
<!-- 定期種別3 -->
|
||||
<th><span>{{ __('validation.attributes.regular_class_3') }}</span></th>
|
||||
<!-- 定期種別6 -->
|
||||
<th><span>{{ __('validation.attributes.regular_class_6') }}</span></th>
|
||||
<!-- 定期種別12 -->
|
||||
<th><span>{{ __('validation.attributes.regular_class_12') }}</span></th>
|
||||
<!-- 備考 -->
|
||||
<th><span>{{ __('validation.attributes.memo') }}</span></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
@php
|
||||
// 统一取一次常量,避免在 Blade 中多次写全限定类名
|
||||
$rc = \App\Models\RegularType::RegularClass;
|
||||
@endphp
|
||||
|
||||
<tbody>
|
||||
@foreach($list as $item)
|
||||
<tr>
|
||||
<!-- 定期種別ID -->
|
||||
<td class="sm-item text-left">
|
||||
<span>{{ mb_substr($item->regular_type_id, 0, 10) }}</span>
|
||||
</td>
|
||||
|
||||
<!-- 市区名 -->
|
||||
<td class="sm-item text-right">
|
||||
<span>{{ mb_substr($item->getCity()?->city_name ?? '-', 0, 10) }}</span>
|
||||
</td>
|
||||
|
||||
<!-- 定期種別1 -->
|
||||
<td class="sm-item text-right">
|
||||
<span>{{ mb_substr(__($rc[$item->regular_class_1] ?? '-'), 0, 10) }}</span>
|
||||
</td>
|
||||
|
||||
<!-- 定期種別2 -->
|
||||
<td class="sm-item text-right">
|
||||
<span>{{ mb_substr(__($rc[$item->regular_class_2] ?? '-'), 0, 10) }}</span>
|
||||
</td>
|
||||
|
||||
<!-- 定期種別3 -->
|
||||
<td class="sm-item text-right">
|
||||
<span>{{ mb_substr(__($rc[$item->regular_class_3] ?? '-'), 0, 10) }}</span>
|
||||
</td>
|
||||
|
||||
<!-- 定期種別6 -->
|
||||
<td class="sm-item text-right">
|
||||
<span>{{ mb_substr(__($rc[$item->regular_class_6] ?? '-'), 0, 10) }}</span>
|
||||
</td>
|
||||
|
||||
<!-- 定期種別12 -->
|
||||
<td class="sm-item text-right">
|
||||
<span>{{ mb_substr(__($rc[$item->regular_class_12] ?? '-'), 0, 10) }}</span>
|
||||
</td>
|
||||
|
||||
<!-- 備考 -->
|
||||
<td class="sm-item text-right">
|
||||
<span>{{ mb_substr($item->memo ?? '-', 0, 10) }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="container-fluid mb20">
|
||||
<button type="button" class="btn btn-sm btn-default mr10" onclick="location.href='{{ route('regular_types_add') }}'">新規</button>
|
||||
<button type="button" class="btn btn-sm btn-default mr10" id="delete">削除</button>
|
||||
<button type="submit" class="btn btn-sm btn-default mr10" form="form_export">{{ __('CSV出力') }}</button>
|
||||
<div class="d-flex justify-content-end">
|
||||
{{ $list->appends(['sort' => $sort ?? '', 'sort_type' => $sort_type ?? ''])->links('pagination') }}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- メッセージ表示 -->
|
||||
<div class="col-lg-12">
|
||||
@if(Session::has('success'))
|
||||
<div class="alert alert-success alert-dismissible" role="alert">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
{{ Session::get('success') }}
|
||||
</div>
|
||||
@elseif(Session::has('error'))
|
||||
<div class="alert alert-danger alert-dismissible">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<h4><i class="icon fa fa-ban"></i> {{ __('誤差') }}:</h4>
|
||||
{!! Session::get('error') !!}
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<!-- ▼ 単一テーブル構成 -->
|
||||
<div class="col-lg-12 mb20">
|
||||
<div class="table-responsive">
|
||||
<form action="{{ route('regular_types_delete') }}" method="POST" id="form_delete">
|
||||
@csrf
|
||||
<table class="table table-bordered table-striped dataTable text-nowrap">
|
||||
<thead>
|
||||
<tr>
|
||||
{{-- チェック + 編集ボタン --}}
|
||||
<th style="width:120px;" class="text-left">
|
||||
<input type="checkbox" class="minimal m-0" id="checkbox_all">
|
||||
</th>
|
||||
<th class="sorting {{ ($sort=='regular_type_id') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="regular_type_id"><span>定期種別ID</span></th>
|
||||
<th><span>市区名</span></th>
|
||||
<th><span>定期種別1</span></th>
|
||||
<th><span>定期種別2</span></th>
|
||||
<th><span>定期種別3</span></th>
|
||||
<th><span>定期種別6</span></th>
|
||||
<th><span>定期種別12</span></th>
|
||||
<th><span>備考</span></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@php
|
||||
$rc = \App\Models\RegularType::RegularClass;
|
||||
@endphp
|
||||
@foreach($list as $item)
|
||||
<tr>
|
||||
<td class="table-warning align-middle">
|
||||
<div class="d-flex align-items-center">
|
||||
<input type="checkbox" class="minimal m-0 checkbox" name="pk[]" value="{{ $item->regular_type_id }}">
|
||||
<a href="{{ route('regular_types_info', ['id' => $item->regular_type_id]) }}"
|
||||
class="btn btn-sm btn-default ml-2">{{ __('編集') }}</a>
|
||||
</div>
|
||||
</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->regular_type_id }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->getCity()?->city_name ?? '-' }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ __($rc[$item->regular_class_1] ?? '-') }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ __($rc[$item->regular_class_2] ?? '-') }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ __($rc[$item->regular_class_3] ?? '-') }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ __($rc[$item->regular_class_6] ?? '-') }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ __($rc[$item->regular_class_12] ?? '-') }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->memo ?? '-' }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ▲ 単一テーブル構成ここまで -->
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<form action="{{ route('regular_types_export') }}" method="GET" id="form_export"></form>
|
||||
@endsection
|
||||
|
||||
@ -3,152 +3,160 @@
|
||||
|
||||
@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') }}">XX様info(ホーム)</a></li>
|
||||
<li class="breadcrumb-item"><a href="javascript:void(0);">[東京都|〇〇駐輪場]</a></li>
|
||||
<li class="breadcrumb-item active">{{ __('設定マスタ') }}</li>
|
||||
</ol>
|
||||
</div>
|
||||
<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') }}">XX様info(ホーム)</a></li>
|
||||
<li class="breadcrumb-item active">{{ __('設定マスタ') }}</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<section class="content">
|
||||
<div class="container-fluid">
|
||||
<div class="container-fluid">
|
||||
|
||||
{{-- ソート用フォーム --}}
|
||||
<form action="{{ route('settings') }}" method="post" id="list-form" class="d-none">
|
||||
@csrf
|
||||
<input type="hidden" name="sort" id="sort" value="{{ $sort }}">
|
||||
<input type="hidden" name="sort_type" id="sort_type" value="{{ $sort_type }}">
|
||||
</form>
|
||||
{{-- ソート用フォーム --}}
|
||||
<form action="{{ route('settings') }}" method="post" id="list-form" class="d-none">
|
||||
@csrf
|
||||
<input type="hidden" name="sort" id="sort" value="{{ $sort }}">
|
||||
<input type="hidden" name="sort_type" id="sort_type" value="{{ $sort_type }}">
|
||||
</form>
|
||||
|
||||
<div class="container-fluid mb20">
|
||||
<button type="button" class="btn btn-sm btn-default mr10" onclick="location.href='{{ route('settings_add') }}'">{{ __('新規') }}</button>
|
||||
<button type="submit" class="btn btn-sm btn-default mr10" form="form_delete">{{ __('削除') }}</button>
|
||||
|
||||
{{ $list->appends(['sort'=>$sort,'sort_type'=>$sort_type])->links('pagination') }}
|
||||
</div>
|
||||
|
||||
{{-- フラッシュ --}}
|
||||
<div class="form col-lg-12">
|
||||
@if(Session::has('success'))
|
||||
<div class="alert alert-success alert-dismissible" role="alert">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
{{ Session::get('success') }}
|
||||
<!-- ツールバー -->
|
||||
<div class="container-fluid mb20 d-flex justify-content-between align-items-center">
|
||||
<div>
|
||||
<button type="button" class="btn btn-sm btn-default mr10" onclick="location.href='{{ route('settings_add') }}'">
|
||||
{{ __('新規') }}
|
||||
</button>
|
||||
<button type="button" class="btn btn-sm btn-default mr10" id="delete">{{ __('削除') }}</button>
|
||||
</div>
|
||||
<div>
|
||||
{{ $list->appends(['sort'=>$sort,'sort_type'=>$sort_type])->links('pagination') }}
|
||||
</div>
|
||||
</div>
|
||||
@elseif(Session::has('error'))
|
||||
<div class="alert alert-danger alert-dismissible">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<h4><i class="icon fa fa-ban"></i> {{ __('誤差') }}:</h4>
|
||||
{!! Session::get('error') !!}
|
||||
</div>
|
||||
@elseif(isset($errorMsg))
|
||||
<div class="alert alert-danger alert-dismissible">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<h4><i class="icon fa fa-ban"></i> {{ __('誤差') }}:</h4>
|
||||
{!! $errorMsg !!}
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div class="col-lg-12 sample03-wrapper no_padding_right mb20">
|
||||
<form action="{{ route('settings_delete') }}" method="post" id="form_delete">
|
||||
@csrf
|
||||
<div class="scroll">
|
||||
<table class="table dataTable">
|
||||
<thead>
|
||||
<tr>
|
||||
{{-- 左:チェック+編集 --}}
|
||||
<th style="width:140px; background:#f9f9f9;">
|
||||
<input type="checkbox" class="minimal m-0" id="checkbox_all">
|
||||
</th>
|
||||
|
||||
{{-- 右:本体 --}}
|
||||
<th sort="setting_id" class="sorting @if($sort=='setting_id'){{ $sort_type=='asc'?'sorting_asc':'sorting_desc' }}@endif text-right">
|
||||
{{ __('設定ID') }}
|
||||
</th>
|
||||
<th sort="edit_master" class="sorting @if($sort=='edit_master'){{ $sort_type=='asc'?'sorting_asc':'sorting_desc' }}@endif text-left">
|
||||
{{ __('編集マスタ') }}
|
||||
</th>
|
||||
<th sort="web_master" class="sorting @if($sort=='web_master'){{ $sort_type=='asc'?'sorting_asc':'sorting_desc' }}@endif text-left">
|
||||
{{ __('ウェブ参照マスタ') }}
|
||||
</th>
|
||||
<th sort="auto_change_date" class="sorting @if($sort=='auto_change_date'){{ $sort_type=='asc'?'sorting_asc':'sorting_desc' }}@endif text-right">
|
||||
{{ __('自動切替日時') }}
|
||||
</th>
|
||||
<th>{{ __('自動切換え参照マスタ') }}</th>
|
||||
<th sort="printable_alert_flag" class="sorting @if($sort=='printable_alert_flag'){{ $sort_type=='asc'?'sorting_asc':'sorting_desc' }}@endif text-left">
|
||||
{{ __('印字残警告') }}
|
||||
</th>
|
||||
<th class="text-right">{{ __('ロール紙印字可能数') }}</th>
|
||||
<th class="text-right">{{ __('ロール紙印字残警告数') }}</th>
|
||||
<th class="text-right">{{ __('キープアライブ(分)') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach($list as $row)
|
||||
<tr>
|
||||
{{-- 左:チェック+編集 --}}
|
||||
<td class="sm-item text-left" style="background:#f9f9f9;">
|
||||
<input type="checkbox" class="minimal m-0 checkbox" name="id[]" value="{{ $row->setting_id }}">
|
||||
<div class="btn_action">
|
||||
<a href="{{ route('settings_edit',['id'=>$row->setting_id]) }}" class="btn btn-sm btn-default ml10">{{ __('編集') }}</a>
|
||||
{{-- フラッシュメッセージ --}}
|
||||
<div class="form col-lg-12">
|
||||
@if(Session::has('success'))
|
||||
<div class="alert alert-success alert-dismissible" role="alert">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
{{ Session::get('success') }}
|
||||
</div>
|
||||
</td>
|
||||
@elseif(Session::has('error'))
|
||||
<div class="alert alert-danger alert-dismissible">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<h4><i class="icon fa fa-ban"></i> {{ __('誤差') }}:</h4>
|
||||
{!! Session::get('error') !!}
|
||||
</div>
|
||||
@elseif(isset($errorMsg))
|
||||
<div class="alert alert-danger alert-dismissible">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<h4><i class="icon fa fa-ban"></i> {{ __('誤差') }}:</h4>
|
||||
{!! $errorMsg !!}
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
{{-- 右:本体 --}}
|
||||
<td class="sm-item text-right">{{ $row->setting_id }}</td>
|
||||
<td class="sm-item text-left">{{ $row->edit_master }}</td>
|
||||
<td class="sm-item text-left">{{ $row->web_master }}</td>
|
||||
<td class="sm-item text-right">
|
||||
@php
|
||||
$dt = $row->auto_change_date instanceof \Carbon\Carbon
|
||||
? $row->auto_change_date->format('Y/m/d H:i')
|
||||
: ($row->auto_change_date ? \Carbon\Carbon::parse($row->auto_change_date)->format('Y/m/d H:i') : '');
|
||||
@endphp
|
||||
{{ $dt }}
|
||||
</td>
|
||||
<td class="sm-item text-left">{{ $row->auto_chage_master }}</td>
|
||||
<td class="sm-item text-left">{{ $row->printable_alert_flag ? '○' : '' }}</td>
|
||||
<td class="sm-item text-right">{{ $row->printable_number }}</td>
|
||||
<td class="sm-item text-right">{{ $row->printable_alert_number }}</td>
|
||||
<td class="sm-item text-right">{{ $row->printer_keep_alive }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- ▼ 単一テーブル構成 ----------------------------------------- -->
|
||||
<div class="col-lg-12 mb20">
|
||||
<div class="table-responsive">
|
||||
<form action="{{ route('settings_delete') }}" method="POST" id="form_delete">
|
||||
@csrf
|
||||
<table class="table table-bordered table-striped dataTable text-nowrap">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width:120px;" class="text-left">
|
||||
<input type="checkbox" class="minimal m-0" id="checkbox_all">
|
||||
</th>
|
||||
<th sort="setting_id" class="sorting {{ ($sort=='setting_id') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}"><span>{{ __('設定ID') }}</span></th>
|
||||
<th sort="edit_master" class="sorting {{ ($sort=='edit_master') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}"><span>{{ __('編集マスタ') }}</span></th>
|
||||
<th sort="web_master" class="sorting {{ ($sort=='web_master') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}"><span>{{ __('ウェブ参照マスタ') }}</span></th>
|
||||
<th sort="auto_change_date" class="sorting {{ ($sort=='auto_change_date') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}"><span>{{ __('自動切替日時') }}</span></th>
|
||||
<th><span>{{ __('自動切換え参照マスタ') }}</span></th>
|
||||
<th sort="printable_alert_flag" class="sorting {{ ($sort=='printable_alert_flag') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}"><span>{{ __('印字残警告') }}</span></th>
|
||||
<th class="text-right"><span>{{ __('ロール紙印字可能数') }}</span></th>
|
||||
<th class="text-right"><span>{{ __('ロール紙印字残警告数') }}</span></th>
|
||||
<th class="text-right"><span>{{ __('キープアライブ(分)') }}</span></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($list as $row)
|
||||
<tr>
|
||||
<td class="table-warning align-middle">
|
||||
<div class="d-flex align-items-center">
|
||||
<input type="checkbox" class="minimal m-0 checkbox" name="id[]" value="{{ $row->setting_id }}">
|
||||
<a href="{{ route('settings_edit',['id'=>$row->setting_id]) }}" class="btn btn-sm btn-default ml-2">{{ __('編集') }}</a>
|
||||
</div>
|
||||
</td>
|
||||
<td class="sm-item text-right align-middle">{{ $row->setting_id }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $row->edit_master }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $row->web_master }}</td>
|
||||
<td class="sm-item text-right align-middle">
|
||||
@php
|
||||
$dt = $row->auto_change_date instanceof \Carbon\Carbon
|
||||
? $row->auto_change_date->format('Y/m/d H:i')
|
||||
: ($row->auto_change_date ? \Carbon\Carbon::parse($row->auto_change_date)->format('Y/m/d H:i') : '');
|
||||
@endphp
|
||||
{{ $dt }}
|
||||
</td>
|
||||
<td class="sm-item text-left align-middle">{{ $row->auto_chage_master }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $row->printable_alert_flag ? '○' : '' }}</td>
|
||||
<td class="sm-item text-right align-middle">{{ $row->printable_number }}</td>
|
||||
<td class="sm-item text-right align-middle">{{ $row->printable_alert_number }}</td>
|
||||
<td class="sm-item text-right align-middle">{{ $row->printer_keep_alive }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ▲ 単一テーブル構成ここまで ----------------------------------------- -->
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{{-- 一括削除 & ソート --}}
|
||||
@push('scripts')
|
||||
<script>
|
||||
document.querySelectorAll('th.sorting[sort]').forEach(function(th){
|
||||
th.style.cursor = 'pointer';
|
||||
th.addEventListener('click', function(){
|
||||
var field = this.getAttribute('sort');
|
||||
var cur = document.getElementById('sort').value;
|
||||
var type = document.getElementById('sort_type').value || 'asc';
|
||||
var next = (cur === field && type === 'asc') ? 'desc' : 'asc';
|
||||
document.getElementById('sort').value = field;
|
||||
document.getElementById('sort_type').value = next;
|
||||
document.getElementById('list-form').submit();
|
||||
});
|
||||
});
|
||||
document.getElementById('checkbox_all')?.addEventListener('change', function(e){
|
||||
document.querySelectorAll('.checkbox').forEach(function(cb){ cb.checked = e.target.checked; });
|
||||
});
|
||||
// 全選択
|
||||
document.getElementById('checkbox_all')?.addEventListener('change', function(e){
|
||||
document.querySelectorAll('.checkbox').forEach(cb => cb.checked = e.target.checked);
|
||||
});
|
||||
|
||||
// 削除確認
|
||||
document.getElementById('delete')?.addEventListener('click', function(){
|
||||
const anyChecked = Array.from(document.querySelectorAll('.checkbox')).some(cb => cb.checked);
|
||||
if (!anyChecked) {
|
||||
alert('削除対象が選択されていません。');
|
||||
return;
|
||||
}
|
||||
if (confirm('削除してよろしいですか?')) {
|
||||
document.getElementById('form_delete').submit();
|
||||
}
|
||||
});
|
||||
|
||||
// ソート
|
||||
document.querySelectorAll('th.sorting').forEach(th => {
|
||||
th.addEventListener('click', function(){
|
||||
const form = document.getElementById('list-form');
|
||||
const current = "{{ $sort ?? '' }}";
|
||||
const currentType = "{{ $sort_type ?? '' }}";
|
||||
const nextCol = this.getAttribute('sort');
|
||||
let nextType = 'asc';
|
||||
if (current === nextCol) {
|
||||
nextType = (currentType === 'asc') ? 'desc' : 'asc';
|
||||
}
|
||||
form.querySelector('[name=sort]').value = nextCol;
|
||||
form.querySelector('[name=sort_type]').value = nextType;
|
||||
form.submit();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
@endsection
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
<div class="card-header">
|
||||
@if($isInfo)
|
||||
<a href="{{ route('settlement_transactions_add') }}" class="btn btn-lg btn-success">{{ __('登録') }}</a>
|
||||
<a href="{{ route('settlement_transactions_edit', ['settlement_transaction_id' => $transaction->settlement_transaction_id]) }}"
|
||||
<a href="{{ route('settlement_transactions_edit', ['id' => $transaction->settlement_transaction_id]) }}"
|
||||
class="btn btn-lg btn-danger">{{ __('編集') }}</a>
|
||||
@else
|
||||
<button type="submit" class="btn btn-lg btn-danger register">{{ __('保存') }}</button>
|
||||
@ -33,7 +33,7 @@
|
||||
{{-- 決済トランザクションID(編集/参照のみ) --}}
|
||||
@if($isInfo || $isEdit)
|
||||
<div class="form-group col-3">
|
||||
<label>{{ __('validation.attributes.settlement_transaction_id') }}</label>
|
||||
<label>{{ __('決済トランザクションID') }}</label>
|
||||
</div>
|
||||
<div class="form-group col-9">
|
||||
<div class="input-group">
|
||||
@ -48,7 +48,7 @@
|
||||
|
||||
{{-- 定期契約ID --}}
|
||||
<div class="form-group col-3">
|
||||
<label @if(!$isInfo) class="required" @endif>{{ __('validation.attributes.contract_id') }}</label>
|
||||
<label @if(!$isInfo) class="required" @endif>{{ __('契約ID') }}</label>
|
||||
</div>
|
||||
<div class="form-group col-9">
|
||||
<div class="input-group">
|
||||
@ -62,7 +62,7 @@
|
||||
|
||||
{{-- ステータス --}}
|
||||
<div class="form-group col-3">
|
||||
<label>{{ __('validation.attributes.status') }}</label>
|
||||
<label>{{ __('ステータス') }}</label>
|
||||
</div>
|
||||
<div class="form-group col-9">
|
||||
<div class="input-group">
|
||||
@ -76,7 +76,7 @@
|
||||
|
||||
{{-- 支払いコード --}}
|
||||
<div class="form-group col-3">
|
||||
<label>{{ __('validation.attributes.pay_code') }}</label>
|
||||
<label>{{ __('支払いコード') }}</label>
|
||||
</div>
|
||||
<div class="form-group col-9">
|
||||
<div class="input-group">
|
||||
@ -90,7 +90,7 @@
|
||||
|
||||
{{-- 受付番号 --}}
|
||||
<div class="form-group col-3">
|
||||
<label>{{ __('validation.attributes.contract_payment_number') }}</label>
|
||||
<label>{{ __('受付番号') }}</label>
|
||||
</div>
|
||||
<div class="form-group col-9">
|
||||
<div class="input-group">
|
||||
@ -104,7 +104,7 @@
|
||||
|
||||
{{-- 企業コード --}}
|
||||
<div class="form-group col-3">
|
||||
<label>{{ __('validation.attributes.corp_code') }}</label>
|
||||
<label>{{ __('企業コード') }}</label>
|
||||
</div>
|
||||
<div class="form-group col-9">
|
||||
<div class="input-group">
|
||||
@ -118,7 +118,7 @@
|
||||
|
||||
{{-- MMS予約照会日時 --}}
|
||||
<div class="form-group col-3">
|
||||
<label>{{ __('validation.attributes.mms_date') }}</label>
|
||||
<label>{{ __('MMS予約照会日時') }}</label>
|
||||
</div>
|
||||
<div class="form-group col-9">
|
||||
<div class="input-group">
|
||||
@ -132,7 +132,7 @@
|
||||
|
||||
{{-- CVS本部コード --}}
|
||||
<div class="form-group col-3">
|
||||
<label>{{ __('validation.attributes.cvs_code') }}</label>
|
||||
<label>{{ __('CVS本部コード') }}</label>
|
||||
</div>
|
||||
<div class="form-group col-9">
|
||||
<div class="input-group">
|
||||
@ -146,7 +146,7 @@
|
||||
|
||||
{{-- 店舗コード --}}
|
||||
<div class="form-group col-3">
|
||||
<label>{{ __('validation.attributes.shop_code') }}</label>
|
||||
<label>{{ __('店舗コード') }}</label>
|
||||
</div>
|
||||
<div class="form-group col-9">
|
||||
<div class="input-group">
|
||||
@ -160,7 +160,7 @@
|
||||
|
||||
{{-- 入金日時(DBはdatetime。画面はdateで日付入力を想定) --}}
|
||||
<div class="form-group col-3">
|
||||
<label>{{ __('validation.attributes.pay_date') }}</label>
|
||||
<label>{{ __('入金日時') }}</label>
|
||||
</div>
|
||||
<div class="form-group col-9">
|
||||
<div class="input-group">
|
||||
@ -174,7 +174,7 @@
|
||||
|
||||
{{-- 決済金額 --}}
|
||||
<div class="form-group col-3">
|
||||
<label>{{ __('validation.attributes.settlement_amount') }}</label>
|
||||
<label>{{ __('決済金額') }}</label>
|
||||
</div>
|
||||
<div class="form-group col-9">
|
||||
<div class="input-group">
|
||||
@ -188,7 +188,7 @@
|
||||
|
||||
{{-- 印紙貼付フラグ --}}
|
||||
<div class="form-group col-3">
|
||||
<label>{{ __('validation.attributes.stamp_flag') }}</label>
|
||||
<label>{{ __('印紙貼付フラグ') }}</label>
|
||||
</div>
|
||||
<div class="form-group col-9">
|
||||
<div class="input-group">
|
||||
@ -202,7 +202,7 @@
|
||||
|
||||
{{-- MD5ハッシュ値 --}}
|
||||
<div class="form-group col-3">
|
||||
<label>{{ __('validation.attributes.md5_string') }}</label>
|
||||
<label>{{ __('MD5ハッシュ値') }}</label>
|
||||
</div>
|
||||
<div class="form-group col-9">
|
||||
<div class="input-group">
|
||||
@ -219,7 +219,7 @@
|
||||
{{-- 下部ボタン(上部と同じ) --}}
|
||||
@if($isInfo)
|
||||
<a href="{{ route('settlement_transactions_add') }}" class="btn btn-lg btn-success">{{ __('登録') }}</a>
|
||||
<a href="{{ route('settlement_transactions_edit', ['settlement_transaction_id' => $transaction->settlement_transaction_id]) }}"
|
||||
<a href="{{ route('settlement_transactions_edit', ['id' => $transaction->settlement_transaction_id]) }}"
|
||||
class="btn btn-lg btn-danger">{{ __('編集') }}</a>
|
||||
@else
|
||||
<button type="submit" class="btn btn-lg btn-danger register">{{ __('保存') }}</button>
|
||||
|
||||
@ -28,7 +28,7 @@
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="card">
|
||||
<form method="POST" action="{{ route('settlement_transactions_edit', ['settlement_transaction_id' => $transaction->settlement_transaction_id]) }}" enctype="multipart/form-data">
|
||||
<form method="POST" action="{{ route('settlement_transactions_edit', ['id' => $transaction->settlement_transaction_id]) }}" enctype="multipart/form-data">
|
||||
@csrf
|
||||
@include('admin.settlement_transactions._form', [
|
||||
'transaction' => $transaction,
|
||||
|
||||
@ -2,228 +2,179 @@
|
||||
@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 active">{{ __('決済トランザクション') }}</li>
|
||||
</ol>
|
||||
</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') }}">XX様info(ホーム)</a></li>
|
||||
<li class="breadcrumb-item active">決済トランザクション</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.content-header -->
|
||||
</div>
|
||||
|
||||
<section class="content">
|
||||
<!-- 絞り込みフィルター -->
|
||||
<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('settlement_transactions') }}" 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-12">
|
||||
<label>定期契約ID</label>
|
||||
<input type="text" name="contract_id" class="form-control"
|
||||
value="{{ old('contract_id', $contract_id ?? '') }}">
|
||||
</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">
|
||||
|
||||
<div class="row">
|
||||
{{-- ソート保持用 --}}
|
||||
<section class="content">
|
||||
<!-- 絞り込みフィルター -->
|
||||
<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('settlement_transactions') }}" method="POST" id="list-form">
|
||||
@csrf
|
||||
<input type="hidden" name="sort" value="{{ $sort ?? '' }}">
|
||||
<input type="hidden" name="sort_type" value="{{ $sort_type ?? '' }}">
|
||||
|
||||
<div class="row">
|
||||
<div class="form-group col-12">
|
||||
<label>定期契約ID</label>
|
||||
<input type="text" name="contract_id" class="form-control"
|
||||
value="{{ old('contract_id', $contract_id ?? '') }}">
|
||||
</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 class="container-fluid mb20">
|
||||
{{ $transactions->appends(['sort' => $sort ?? '', 'sort_type' => $sort_type ?? ''])->links('pagination') }}
|
||||
</div>
|
||||
|
||||
<div class="form col-lg-12">
|
||||
@if(Session::has('success'))
|
||||
<div class="alert alert-success alert-dismissible" role="alert">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
{{ Session::get('success') }}
|
||||
</div>
|
||||
@elseif(Session::has('error'))
|
||||
<div class="alert alert-danger alert-dismissible">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<h4><i class="icon fa fa-ban"></i> {{ __('誤差') }}:</h4>
|
||||
{!! Session::get('error') !!}
|
||||
</div>
|
||||
@elseif(isset($errorMsg))
|
||||
<div class="alert alert-danger alert-dismissible">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<h4><i class="icon fa fa-ban"></i> {{ __('誤差') }}:</h4>
|
||||
{!! $errorMsg !!}
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div class="col-lg-12 row sample03-wrapper no_padding_right mb20">
|
||||
{{-- 左:チェック&操作 --}}
|
||||
<div class="col-xl-2 col-lg-2 col-md-2 col-sm-3 col-xs-3 table_left">
|
||||
<form action="{{ route('settlement_transactions_delete') }}" method="POST" id="form_delete">
|
||||
@csrf
|
||||
<table class="table dataTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
<input type="checkbox" class="minimal m-0" id="checkbox_all">
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($transactions as $item)
|
||||
<tr role="row">
|
||||
<td>
|
||||
<input type="checkbox" class="minimal m-0 checkbox"
|
||||
value="{{ $item->settlement_transaction_id }}" name="ids[]">
|
||||
<div class="btn_action">
|
||||
<a href="{{ route('settlement_transactions_edit', ['settlement_transaction_id' => $item->settlement_transaction_id]) }}"
|
||||
class="btn btn-sm btn-default ml10">{{ __('編集') }}</a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
{{-- 右:データ一覧 --}}
|
||||
<div class="col-lg-10 col-xl-10 col-md-10 col-sm-9 col-xs-9 table_right no_padding_right">
|
||||
<div class="scroll">
|
||||
<table class="table dataTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="sorting {{ ($sort=='settlement_transaction_id') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="settlement_transaction_id">
|
||||
<span>{{ __('validation.attributes.settlement_transaction_id') }}</span>
|
||||
</th>
|
||||
<th class="sorting {{ ($sort=='contract_id') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="contract_id">
|
||||
<span>{{ __('validation.attributes.contract_id') }}</span>
|
||||
</th>
|
||||
<th class="sorting {{ ($sort=='status') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="status">
|
||||
<span>{{ __('validation.attributes.status') }}</span>
|
||||
</th>
|
||||
<th><span>{{ __('validation.attributes.pay_code') }}</span></th>
|
||||
<th><span>{{ __('validation.attributes.contract_payment_number') }}</span></th>
|
||||
<th class="sorting {{ ($sort=='corp_code') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="corp_code">
|
||||
<span>{{ __('validation.attributes.corp_code') }}</span>
|
||||
</th>
|
||||
<th class="sorting {{ ($sort=='mms_date') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="mms_date">
|
||||
<span>{{ __('validation.attributes.mms_date') }}</span>
|
||||
</th>
|
||||
<th class="sorting {{ ($sort=='cvs_code') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="cvs_code">
|
||||
<span>{{ __('validation.attributes.cvs_code') }}</span>
|
||||
</th>
|
||||
<th class="sorting {{ ($sort=='shop_code') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="shop_code">
|
||||
<span>{{ __('validation.attributes.shop_code') }}</span>
|
||||
</th>
|
||||
<th class="sorting {{ ($sort=='pay_date') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="pay_date">
|
||||
<span>{{ __('validation.attributes.pay_date') }}</span>
|
||||
</th>
|
||||
<th><span>{{ __('validation.attributes.settlement_amount') }}</span></th>
|
||||
<th><span>{{ __('validation.attributes.stamp_flag') }}</span></th>
|
||||
<th><span>{{ __('validation.attributes.md5_string') }}</span></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($transactions as $item)
|
||||
<tr>
|
||||
<td class="sm-item text-left">{{ $item->settlement_transaction_id }}</td>
|
||||
<td class="sm-item text-left">{{ $item->contract_id }}</td>
|
||||
<td class="sm-item text-left">{{ $item->status }}</td>
|
||||
<td class="sm-item text-left">{{ $item->pay_code }}</td>
|
||||
<td class="sm-item text-left">{{ $item->contract_payment_number }}</td>
|
||||
<td class="sm-item text-left">{{ $item->corp_code }}</td>
|
||||
<td class="sm-item text-left">{{ $item->mms_date }}</td>
|
||||
<td class="sm-item text-left">{{ $item->cvs_code }}</td>
|
||||
<td class="sm-item text-left">{{ $item->shop_code }}</td>
|
||||
<td class="sm-item text-left">{{ optional($item->pay_date)->format('Y-m-d H:i') }}</td>
|
||||
<td class="sm-item text-left">{{ $item->settlement_amount }}</td>
|
||||
<td class="sm-item text-left">{{ $item->stamp_flag }}</td>
|
||||
<td class="sm-item text-left">{{ $item->md5_string }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div class="container-fluid">
|
||||
<!-- ツールバー -->
|
||||
<div class="container-fluid mb20">
|
||||
<button type="button" class="btn btn-sm btn-default mr10" onclick="location.href='{{ route('settlement_transactions_add') }}'">新規</button>
|
||||
<button type="button" class="btn btn-sm btn-default mr10" id="delete">削除</button>
|
||||
<button type="submit" class="btn btn-sm btn-default mr10" form="form_export">{{ __('CSV出力') }}</button>
|
||||
<div class="d-flex justify-content-end">
|
||||
{{ $transactions->appends(['sort' => $sort ?? '', 'sort_type' => $sort_type ?? ''])->links('pagination') }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
// 全選択
|
||||
document.getElementById('checkbox_all')?.addEventListener('change', function(e){
|
||||
document.querySelectorAll('.checkbox').forEach(cb => cb.checked = e.target.checked);
|
||||
});
|
||||
<!-- メッセージ表示 -->
|
||||
<div class="form col-lg-12">
|
||||
@if(Session::has('success'))
|
||||
<div class="alert alert-success alert-dismissible" role="alert">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
{{ Session::get('success') }}
|
||||
</div>
|
||||
@elseif(Session::has('error'))
|
||||
<div class="alert alert-danger alert-dismissible">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<h4><i class="icon fa fa-ban"></i> {{ __('誤差') }}:</h4>
|
||||
{!! Session::get('error') !!}
|
||||
</div>
|
||||
@elseif(isset($errorMsg))
|
||||
<div class="alert alert-danger alert-dismissible">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<h4><i class="icon fa fa-ban"></i> {{ __('誤差') }}:</h4>
|
||||
{!! $errorMsg !!}
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
// 削除
|
||||
document.getElementById('delete')?.addEventListener('click', function(){
|
||||
const anyChecked = Array.from(document.querySelectorAll('.checkbox')).some(cb => cb.checked);
|
||||
if (!anyChecked) { alert('{{ __("削除対象が選択されていません。") }}'); return; }
|
||||
if (confirm('{{ __("削除してよろしいですか?") }}')) {
|
||||
document.getElementById('form_delete').submit();
|
||||
<!-- ▼ 単一テーブル構成 ----------------------------------------- -->
|
||||
<div class="col-lg-12 mb20">
|
||||
<div class="table-responsive">
|
||||
<form action="{{ route('settlement_transactions_delete') }}" method="POST" id="form_delete">
|
||||
@csrf
|
||||
<table class="table table-bordered table-striped dataTable text-nowrap">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width:120px;" class="text-left">
|
||||
<input type="checkbox" class="minimal m-0" id="checkbox_all">
|
||||
</th>
|
||||
<th class="sorting {{ ($sort=='settlement_transaction_id') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="settlement_transaction_id"><span>決済トランザクションID</span></th>
|
||||
<th class="sorting {{ ($sort=='contract_id') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="contract_id"><span>定期契約ID</span></th>
|
||||
<th class="sorting {{ ($sort=='status') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="status"><span>ステータス</span></th>
|
||||
<th><span>決済コード</span></th>
|
||||
<th><span>決済番号</span></th>
|
||||
<th class="sorting {{ ($sort=='corp_code') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="corp_code"><span>企業コード</span></th>
|
||||
<th class="sorting {{ ($sort=='mms_date') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="mms_date"><span>MMS日付</span></th>
|
||||
<th class="sorting {{ ($sort=='cvs_code') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="cvs_code"><span>CVSコード</span></th>
|
||||
<th class="sorting {{ ($sort=='shop_code') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="shop_code"><span>店舗コード</span></th>
|
||||
<th class="sorting {{ ($sort=='pay_date') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="pay_date"><span>支払日</span></th>
|
||||
<th><span>決済金額</span></th>
|
||||
<th><span>スタンプ</span></th>
|
||||
<th><span>MD5文字列</span></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($transactions as $item)
|
||||
<tr>
|
||||
<td class="table-warning align-middle">
|
||||
<div class="d-flex align-items-center">
|
||||
<input type="checkbox" class="minimal m-0 checkbox" name="ids[]" value="{{ $item->settlement_transaction_id }}">
|
||||
<a href="{{ route('settlement_transactions_edit', ['id' => $item->settlement_transaction_id]) }}" class="btn btn-sm btn-default ml-2">編集</a>
|
||||
</div>
|
||||
</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->settlement_transaction_id }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->contract_id }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->status }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->pay_code }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->contract_payment_number }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->corp_code }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->mms_date }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->cvs_code }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->shop_code }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ optional($item->pay_date)->format('Y-m-d H:i') }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->settlement_amount }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->stamp_flag }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $item->md5_string }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ▲ 単一テーブル構成ここまで ----------------------------------------- -->
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<form action="{{ route('settlement_transactions_export') }}" method="GET" id="form_export"></form>
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
// 全選択
|
||||
document.getElementById('checkbox_all')?.addEventListener('change', function(e){
|
||||
document.querySelectorAll('.checkbox').forEach(cb => cb.checked = e.target.checked);
|
||||
});
|
||||
|
||||
// 削除確認
|
||||
document.getElementById('delete')?.addEventListener('click', function(){
|
||||
const anyChecked = Array.from(document.querySelectorAll('.checkbox')).some(cb => cb.checked);
|
||||
if (!anyChecked) {
|
||||
alert('削除対象が選択されていません。');
|
||||
return;
|
||||
}
|
||||
if (confirm('削除してよろしいですか?')) {
|
||||
document.getElementById('form_delete').submit();
|
||||
}
|
||||
});
|
||||
|
||||
// ソート
|
||||
document.querySelectorAll('th.sorting').forEach(th => {
|
||||
th.addEventListener('click', function(){
|
||||
const form = document.getElementById('list-form');
|
||||
const current = "{{ $sort ?? '' }}";
|
||||
const currentType = "{{ $sort_type ?? '' }}";
|
||||
const nextCol = this.getAttribute('sort');
|
||||
let nextType = 'asc';
|
||||
if (current === nextCol) {
|
||||
nextType = (currentType === 'asc') ? 'desc' : 'asc';
|
||||
}
|
||||
form.querySelector('[name=sort]').value = nextCol;
|
||||
form.querySelector('[name=sort_type]').value = nextType;
|
||||
form.submit();
|
||||
});
|
||||
|
||||
// ソート
|
||||
document.querySelectorAll('th.sorting').forEach(th => {
|
||||
th.addEventListener('click', function(){
|
||||
const form = document.getElementById('list-form');
|
||||
const current = "{{ $sort ?? '' }}";
|
||||
const currentType = "{{ $sort_type ?? '' }}";
|
||||
const nextCol = this.getAttribute('sort');
|
||||
let nextType = 'asc';
|
||||
if (current === nextCol) {
|
||||
nextType = (currentType === 'asc') ? 'desc' : 'asc';
|
||||
}
|
||||
form.querySelector('[name=sort]').value = nextCol;
|
||||
form.querySelector('[name=sort_type]').value = nextType;
|
||||
form.submit();
|
||||
});
|
||||
});
|
||||
|
||||
// インポート:ファイル選択→自動送信(必要ならUIを別途用意)
|
||||
const importBtn = document.querySelector('button[form="form_import"]');
|
||||
const importInput = document.getElementById('import_file');
|
||||
importBtn?.addEventListener('click', function(e){
|
||||
e.preventDefault();
|
||||
importInput.click();
|
||||
});
|
||||
importInput?.addEventListener('change', function(){
|
||||
if (this.files.length > 0) {
|
||||
document.getElementById('form_import').submit();
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
@endsection
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
@endif
|
||||
|
||||
<div class="card-header">
|
||||
<a href="{{ route('neighbor_stations') }}" class="btn btn-secondary">戻る</a>
|
||||
<a href="{{ route('stations') }}" class="btn btn-secondary">戻る</a>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
@ -11,7 +11,7 @@
|
||||
<div class="col-lg-6">
|
||||
<ol class="breadcrumb float-sm-right text-sm">
|
||||
<li class="breadcrumb-item"><a href="{{ route('home') }}">XX様info(ホーム)</a></li>
|
||||
<li class="breadcrumb-item"><a href="{{ route('neighbor_stations') }}">[東京都|〇〇駐輪場]</a></li>
|
||||
<li class="breadcrumb-item"><a href="{{ route('stations') }}">[東京都|〇〇駐輪場]</a></li>
|
||||
<li class="breadcrumb-item active">[東京都|〇〇駐輪場] 近傍駅マスタ</li>
|
||||
</ol>
|
||||
</div>
|
||||
@ -23,7 +23,7 @@
|
||||
<div class="container-fluid">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-8">
|
||||
<form method="POST" action="{{ route('neighbor_station_add') }}">
|
||||
<form method="POST" action="{{ route('stations_add') }}">
|
||||
@csrf
|
||||
|
||||
<table class="table table-bordered">
|
||||
@ -113,7 +113,7 @@
|
||||
<button type="button" class="btn btn-danger ml-3" onclick="confirmDelete()">削除</button>
|
||||
|
||||
<form id="delete-form" method="POST"
|
||||
action="{{ route('neighbor_stations_delete') }}"
|
||||
action="{{ route('stations_delete') }}"
|
||||
style="display:none;">
|
||||
@csrf
|
||||
<input type="hidden" name="pk[]" value="{{ old('station_id') ?? 0 }}">
|
||||
@ -27,9 +27,9 @@
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="card">
|
||||
<form method="post" action="{{ route('neighbor_station_edit', ['id' => $station->station_id]) }}" enctype="multipart/form-data">
|
||||
<form method="post" action="{{ route('stations_edit', ['id' => $station->station_id]) }}" enctype="multipart/form-data">
|
||||
@csrf
|
||||
@include('admin.neighbor_stations._form', ['isEdit' => 1, 'isInfo' => 0, 'station' => $station])
|
||||
@include('admin.stations._form', ['isEdit' => 1, 'isInfo' => 0, 'station' => $station])
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@ -1,10 +1,9 @@
|
||||
{{-- resources/views/admin/neighbor_stations/import.blade.php --}}
|
||||
@extends('layouts.admin')
|
||||
|
||||
@section('content')
|
||||
<h1>近傍駅 インポート</h1>
|
||||
|
||||
<form method="POST" action="{{ route('neighbor_stations_import') }}" enctype="multipart/form-data">
|
||||
<form method="POST" action="{{ route('stations_import') }}" enctype="multipart/form-data">
|
||||
@csrf
|
||||
<div class="form-group">
|
||||
<label for="csv_file">CSVファイルを選択:</label>
|
||||
@ -13,5 +12,5 @@
|
||||
<button type="submit" class="btn btn-primary">アップロード</button>
|
||||
</form>
|
||||
|
||||
<a href="{{ route('neighbor_stations') }}" class="btn btn-secondary mt-3">戻る</a>
|
||||
<a href="{{ route('stations') }}" class="btn btn-secondary mt-3">戻る</a>
|
||||
@endsection
|
||||
@ -1,4 +1,3 @@
|
||||
{{-- resources/views/admin/neighbor_stations/info.blade.php --}}
|
||||
@extends('layouts.admin')
|
||||
|
||||
@section('content')
|
||||
@ -21,5 +20,5 @@
|
||||
<p>{{ $station->operator_id }}</p>
|
||||
</div>
|
||||
|
||||
<a href="{{ route('neighbor_stations') }}" class="btn btn-secondary">戻る</a>
|
||||
<a href="{{ route('stations') }}" class="btn btn-secondary">戻る</a>
|
||||
@endsection
|
||||
@ -24,14 +24,14 @@
|
||||
<section class="content">
|
||||
<div class="container-fluid">
|
||||
{{-- 並び替え用 hidden --}}
|
||||
<form action="{{ route('neighbor_stations') }}" method="POST" id="list-form">
|
||||
<form action="{{ route('stations') }}" method="POST" id="list-form">
|
||||
@csrf
|
||||
<input type="hidden" name="sort" value="{{ $sort ?? '' }}">
|
||||
<input type="hidden" name="sort_type" value="{{ $sort_type ?? '' }}">
|
||||
</form>
|
||||
|
||||
<div class="container-fluid mb20">
|
||||
<button type="button" class="btn btn-sm btn-default mr10" onclick="location.href='{{ route('neighbor_station_add') }}'">新規</button>
|
||||
<button type="button" class="btn btn-sm btn-default mr10" onclick="location.href='{{ route('stations_add') }}'">新規</button>
|
||||
<button type="button" class="btn btn-sm btn-default mr10" id="delete">削除</button>
|
||||
<button type="submit" class="btn btn-sm btn-default mr10" form="form_export">{{ __('CSV出力') }}</button>
|
||||
<div class="d-flex justify-content-end">
|
||||
@ -65,7 +65,7 @@
|
||||
<!-- ▼ ここから単一テーブル構成 ----------------------------------------- -->
|
||||
<div class="col-lg-12 mb20">
|
||||
<div class="table-responsive">
|
||||
<form action="{{ route('neighbor_stations_delete') }}" method="POST" id="form_delete">
|
||||
<form action="{{ route('stations_delete') }}" method="POST" id="form_delete">
|
||||
@csrf
|
||||
<table class="table table-bordered table-striped dataTable text-nowrap">
|
||||
<thead>
|
||||
@ -90,7 +90,7 @@
|
||||
<td class="table-warning align-middle">
|
||||
<div class="d-flex align-items-center">
|
||||
<input type="checkbox" class="minimal m-0 checkbox" name="pk[]" value="{{ $station->station_id }}">
|
||||
<a href="{{ route('neighbor_station_edit', ['id' => $station->station_id]) }}"
|
||||
<a href="{{ route('stations_edit', ['id' => $station->station_id]) }}"
|
||||
class="btn btn-sm btn-default ml-2">{{ __('編集') }}</a>
|
||||
</div>
|
||||
</td>
|
||||
@ -113,5 +113,5 @@
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<form action="{{ route('neighbor_stations_export') }}" method="GET" id="form_export"></form>
|
||||
<form action="{{ route('stations_export') }}" method="GET" id="form_export"></form>
|
||||
@endsection
|
||||
@ -9,7 +9,7 @@
|
||||
{{-- 登録・削除 ボタン(上部) --}}
|
||||
<div class="text-left mt-2 mb-3">
|
||||
@if($isInfo)
|
||||
<a href="{{ route('tax_edit', ['tax_id' => $tax->tax_id]) }}" class="btn btn-lg btn-success">編集</a>
|
||||
<a href="{{ route('tax_edit', ['id' => $tax->tax_id]) }}" class="btn btn-lg btn-success">編集</a>
|
||||
@else
|
||||
<button type="submit" class="btn btn-lg btn成功 btn-success">登録</button>
|
||||
@if($isEdit)
|
||||
@ -66,7 +66,7 @@
|
||||
{{-- 登録・削除 ボタン(下部重ね) --}}
|
||||
<div class="text-left mt-2">
|
||||
@if($isInfo)
|
||||
<a href="{{ route('tax_edit', ['tax_id' => $tax->tax_id]) }}" class="btn btn-lg btn-success">編集</a>
|
||||
<a href="{{ route('tax_edit', ['id' => $tax->tax_id]) }}" class="btn btn-lg btn-success">編集</a>
|
||||
@else
|
||||
<button type="submit" class="btn btn-lg btn-success">登録</button>
|
||||
@if($isEdit)
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
|
||||
<section class="content">
|
||||
<div class="container-fluid">
|
||||
<form action="{{ route('tax_edit', ['tax_id' => $tax->tax_id]) }}" method="POST">
|
||||
<form action="{{ route('tax_edit', ['id' => $tax->tax_id]) }}" method="POST">
|
||||
@csrf
|
||||
@include('admin.tax._form', [
|
||||
'tax' => $tax,
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
@extends('layouts.app')
|
||||
@section('title', '消費税マスタ')
|
||||
@section('title', '[東京都|〇〇駐輪場] 消費税マスタ')
|
||||
|
||||
@section('content')
|
||||
<!-- Content Header -->
|
||||
@ -23,60 +23,51 @@
|
||||
<!-- Main Content -->
|
||||
<section class="content">
|
||||
<div class="container-fluid">
|
||||
{{-- 一覧のソート用(既存規約踏襲) --}}
|
||||
{{-- 並び替え用 hidden --}}
|
||||
<form action="{{ route('tax') }}" method="POST" id="list-form">
|
||||
@csrf
|
||||
<input type="hidden" name="sort" value="{{ $sort ?? '' }}">
|
||||
<input type="hidden" name="sort_type" value="{{ $sort_type ?? '' }}">
|
||||
</form>
|
||||
|
||||
<!-- ツールバー -->
|
||||
<div class="container-fluid mb20">
|
||||
<button type="button" class="btn btn-sm btn-default mr10" onclick="location.href='{{ route('tax_add') }}'">新規</button>
|
||||
<button type="button" class="btn btn-sm btn-default mr10" id="delete">削除</button>
|
||||
{{ $taxes->appends(['sort' => $sort ?? '', 'sort_type' => $sort_type ?? ''])->links('pagination') }}
|
||||
<button type="submit" class="btn btn-sm btn-default mr10" form="form_export">{{ __('CSV出力') }}</button>
|
||||
<div class="d-flex justify-content-end">
|
||||
{{ $taxes->appends(['sort' => $sort ?? '', 'sort_type' => $sort_type ?? ''])->links('pagination') }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-12">
|
||||
@if(session('success'))
|
||||
<div class="alert alert-success alert-dismissible">{{ session('success') }}</div>
|
||||
@elseif(session('error'))
|
||||
<div class="alert alert-danger alert-dismissible">{{ session('error') }}</div>
|
||||
<!-- メッセージ表示 -->
|
||||
<div class="form col-lg-12">
|
||||
@if(Session::has('success'))
|
||||
<div class="alert alert-success alert-dismissible" role="alert">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
{{ Session::get('success') }}
|
||||
</div>
|
||||
@elseif(Session::has('error'))
|
||||
<div class="alert alert-danger alert-dismissible">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<h4><i class="icon fa fa-ban"></i> {{ __('誤差') }}:</h4>
|
||||
{!! Session::get('error') !!}
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div class="col-lg-12 row sample03-wrapper no_padding_right mb20">
|
||||
<!-- 左側チェックボックス&編集ボタン -->
|
||||
<div class="col-xl-2 col-lg-2 col-md-2 col-sm-3 col-xs-3 table_left">
|
||||
<!-- ▼ 単一テーブル構成 ----------------------------------------- -->
|
||||
<div class="col-lg-12 mb20">
|
||||
<div class="table-responsive">
|
||||
<form action="{{ route('tax_delete') }}" method="POST" id="form_delete">
|
||||
@csrf
|
||||
<table class="table dataTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" class="minimal m-0" id="checkbox_all"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($taxes as $tax)
|
||||
<tr>
|
||||
<td>
|
||||
<input type="checkbox" class="minimal m-0 checkbox" value="{{ $tax->tax_id }}" name="id[]">
|
||||
<div class="btn_action">
|
||||
<a href="{{ route('tax_edit', ['tax_id' => $tax->tax_id]) }}" class="btn btn-sm btn-default ml10">編集</a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!-- 右側データテーブル -->
|
||||
<div class="col-lg-10 col-xl-10 col-md-10 col-sm-9 col-xs-9 table_right no_padding_right">
|
||||
<div class="scroll">
|
||||
<table class="table dataTable">
|
||||
<table class="table table-bordered table-striped dataTable text-nowrap">
|
||||
<thead>
|
||||
<tr>
|
||||
{{-- チェック + 編集 --}}
|
||||
<th style="width:120px;" class="text-left">
|
||||
<input type="checkbox" class="minimal m-0" id="checkbox_all">
|
||||
</th>
|
||||
<th class="sorting {{ ($sort=='tax_id') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="tax_id">
|
||||
<span>消費税ID</span>
|
||||
</th>
|
||||
@ -91,30 +82,37 @@
|
||||
<tbody>
|
||||
@foreach($taxes as $tax)
|
||||
<tr>
|
||||
<td class="sm-item text-left">{{ $tax->tax_id }}</td>
|
||||
<td class="sm-item text-left">
|
||||
{{-- 同じセルに チェック + 編集ボタン --}}
|
||||
<td class="table-warning align-middle">
|
||||
<div class="d-flex align-items-center">
|
||||
<input type="checkbox" class="minimal m-0 checkbox" name="id[]" value="{{ $tax->tax_id }}">
|
||||
<a href="{{ route('tax_edit', ['id' => $tax->tax_id]) }}" class="btn btn-sm btn-default ml-2">編集</a>
|
||||
</div>
|
||||
</td>
|
||||
<td class="sm-item text-left align-middle">{{ $tax->tax_id }}</td>
|
||||
<td class="sm-item text-left align-middle">
|
||||
@php
|
||||
|
||||
$val = is_numeric($tax->tax_percent)
|
||||
? number_format((float)$tax->tax_percent, 2, '.', '')
|
||||
: (string)$tax->tax_percent;
|
||||
@endphp
|
||||
{{ $val }}%
|
||||
</td>
|
||||
<td class="sm-item text-left">{{ optional($tax->tax_day)->format('Y-m-d') }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ optional($tax->tax_day)->format('Y-m-d') }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ▲ 単一テーブル構成ここまで ----------------------------------------- -->
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<form action="{{ route('tax_export') }}" method="GET" id="form_export"></form>
|
||||
|
||||
{{-- 一括削除 & ソートのJS(既存規約に合わせ最小限) --}}
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
// 全選択
|
||||
@ -134,7 +132,7 @@
|
||||
}
|
||||
});
|
||||
|
||||
// ヘッダクリックでソート変更(既存 list と同様のカスタム属性 "sort" を使用)
|
||||
// ヘッダクリックでソート
|
||||
document.querySelectorAll('th.sorting').forEach(th => {
|
||||
th.addEventListener('click', function(){
|
||||
const form = document.getElementById('list-form');
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
{{-- 登録・削除 ボタン --}}
|
||||
<div class="text-left mt-4">
|
||||
@if($isInfo)
|
||||
<a href="{{ route('terms_edit', ['term_id' => $term->terms_id]) }}" class="btn btn-lg btn-success">編集</a>
|
||||
<a href="{{ route('terms_edit', ['id' => $term->terms_id]) }}" class="btn btn-lg btn-success">編集</a>
|
||||
@else
|
||||
<button type="submit" class="btn btn-lg btn-success">登録</button>
|
||||
@if($isEdit)
|
||||
@ -98,7 +98,7 @@
|
||||
{{-- 登録・削除 ボタン --}}
|
||||
<div class="text-left mt-4">
|
||||
@if($isInfo)
|
||||
<a href="{{ route('terms_edit', ['term_id' => $term->terms_id]) }}" class="btn btn-lg btn-success">編集</a>
|
||||
<a href="{{ route('terms_edit', ['id' => $term->terms_id]) }}" class="btn btn-lg btn-success">編集</a>
|
||||
@else
|
||||
<button type="submit" class="btn btn-lg btn-success">登録</button>
|
||||
@if($isEdit)
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
|
||||
<section class="content">
|
||||
<div class="container-fluid">
|
||||
<form action="{{ route('terms_edit', ['term_id' => $term->terms_id]) }}" method="POST">
|
||||
<form action="{{ route('terms_edit', ['id' => $term->terms_id]) }}" method="POST">
|
||||
@csrf
|
||||
@include('admin.terms._form', [
|
||||
'term' => $term,
|
||||
|
||||
@ -23,95 +23,95 @@
|
||||
<!-- Main Content -->
|
||||
<section class="content">
|
||||
<div class="container-fluid">
|
||||
{{-- 並び替え用 hidden --}}
|
||||
<form action="{{ route('terms') }}" method="POST" id="list-form">
|
||||
@csrf
|
||||
<input type="hidden" name="sort" value="{{ $sort ?? '' }}">
|
||||
<input type="hidden" name="sort_type" value="{{ $sort_type ?? '' }}">
|
||||
</form>
|
||||
|
||||
<div class="container-fluid mb20">
|
||||
<button type="button" class="btn btn-sm btn-default mr10" onclick="location.href='{{ route('terms_add') }}'"> 新規</button>
|
||||
<button type="button" class="btn btn-sm btn-default mr10" id="delete">削除</button>
|
||||
<button type="submit" class="btn btn-sm btn-default mr10" form="form_export">CSV出力</button>
|
||||
{{ $terms->appends(['sort' => $sort ?? '', 'sort_type' => $sort_type ?? ''])->links('pagination') }}
|
||||
<!-- 操作ボタン&ページネーション -->
|
||||
<div class="container-fluid mb20 d-flex justify-content-between align-items-center">
|
||||
<div>
|
||||
<button type="button" class="btn btn-sm btn-default mr10" onclick="location.href='{{ route('terms_add') }}'">新規</button>
|
||||
<button type="button" class="btn btn-sm btn-default mr10" id="delete">削除</button>
|
||||
<button type="submit" class="btn btn-sm btn-default mr10" form="form_export">CSV出力</button>
|
||||
</div>
|
||||
<div>
|
||||
{{ $terms->appends(['sort' => $sort ?? '', 'sort_type' => $sort_type ?? ''])->links('pagination') }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- メッセージ表示 -->
|
||||
<div class="col-lg-12">
|
||||
@if(session('success'))
|
||||
<div class="alert alert-success alert-dismissible">{{ session('success') }}</div>
|
||||
<div class="alert alert-success alert-dismissible" role="alert">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
{{ session('success') }}
|
||||
</div>
|
||||
@elseif(session('error'))
|
||||
<div class="alert alert-danger alert-dismissible">{{ session('error') }}</div>
|
||||
<div class="alert alert-danger alert-dismissible" role="alert">
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
{{ session('error') }}
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div class="col-lg-12 row sample03-wrapper no_padding_right mb20">
|
||||
<!-- 左側チェックボックス&編集ボタン -->
|
||||
<div class="col-xl-2 col-lg-2 col-md-2 col-sm-3 col-xs-3 table_left">
|
||||
<!-- ▼ 単一テーブル構成 -->
|
||||
<div class="col-lg-12 mb20">
|
||||
<div class="table-responsive">
|
||||
<form action="{{ route('terms_delete') }}" method="POST" id="form_delete">
|
||||
@csrf
|
||||
<table class="table dataTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" class="minimal m-0" id="checkbox_all"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($terms as $term)
|
||||
<tr>
|
||||
<td>
|
||||
<input type="checkbox" class="minimal m-0 checkbox" value="{{ $term->terms_id }}" name="id[]">
|
||||
<div class="btn_action">
|
||||
<a href="{{ route('terms_edit', ['term_id' => $term->terms_id]) }}" class="btn btn-sm btn-default ml10">編集</a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!-- 右側データテーブル -->
|
||||
<div class="col-lg-10 col-xl-10 col-md-10 col-sm-9 col-xs-9 table_right no_padding_right">
|
||||
<div class="scroll">
|
||||
<table class="table dataTable">
|
||||
<table class="table table-bordered table-striped dataTable text-nowrap">
|
||||
<thead>
|
||||
<tr>
|
||||
{{-- ★ チェック + 編集 用の1列 --}}
|
||||
<th style="width:120px;" class="text-left">
|
||||
<input type="checkbox" class="minimal m-0" id="checkbox_all">
|
||||
</th>
|
||||
<th class="sorting {{ ($sort=='terms_id') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="terms_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><span>使用中</span></th>
|
||||
<th><span>使用中</span></th>
|
||||
<th><span>リビジョン</span></th>
|
||||
<th><span>契約内容</span></th>
|
||||
<th><span>備考</span></th>
|
||||
<th class="sorting {{ ($sort=='start_date') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="start_date">
|
||||
<span>使用開始日</span>
|
||||
</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($terms as $term)
|
||||
<tr>
|
||||
<td class="sm-item text-left">{{ $term->terms_id }}</td>
|
||||
<td class="sm-item text-left">{{ $term->city_id }}</td>
|
||||
<td class="sm-item text-left">{{ $term->use_flag ? '○' : '' }}</td>
|
||||
<td class="sm-item text-left">{{ $term->terms_revision }}</td>
|
||||
<td class="sm-item text-left">{{ $term->terms_text }}</td>
|
||||
<td class="sm-item text-left">{{ $term->memo }}</td>
|
||||
<td class="sm-item text-left">{{ \Carbon\Carbon::parse($term->start_date)->format('Y-m-d') }}</td>
|
||||
{{-- ★ チェックボックス + 編集ボタン --}}
|
||||
<td class="table-warning align-middle">
|
||||
<div class="d-flex align-items-center">
|
||||
<input type="checkbox" class="minimal m-0 checkbox" name="pk[]" value="{{ $term->terms_id }}">
|
||||
<a href="{{ route('terms_edit', ['id' => $term->terms_id]) }}"
|
||||
class="btn btn-sm btn-default ml-2">{{ __('編集') }}</a>
|
||||
</div>
|
||||
</td>
|
||||
<td class="sm-item text-left align-middle">{{ $term->terms_id }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $term->city_id }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $term->use_flag ? '○' : '' }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $term->terms_revision }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $term->terms_text }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ $term->memo }}</td>
|
||||
<td class="sm-item text-left align-middle">{{ \Carbon\Carbon::parse($term->start_date)->format('Y-m-d') }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ▲ 単一テーブル構成ここまで -->
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<form action="{{ route('terms_export') }}" method="GET" id="form_export"></form>
|
||||
@endsection
|
||||
@endsection
|
||||
|
||||
@ -395,7 +395,7 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="{{ route('neighbor_stations') }}" class="nav-link pl-4 @if(app('router')->is('neighbor_stations')) active @endif">
|
||||
<a href="{{ route('stations') }}" class="nav-link pl-4 @if(app('router')->is('stations')) active @endif">
|
||||
<p class="mb-0">{{ __("近傍駅マスタ") }}</p>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
299
routes/web.php
299
routes/web.php
@ -2,6 +2,24 @@
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
use App\Http\Controllers\Admin\RegularTypeController;
|
||||
use App\Http\Controllers\Admin\StationController;
|
||||
use App\Http\Controllers\Admin\TermsController;
|
||||
use App\Http\Controllers\Admin\JurisdictionParkingController;
|
||||
use App\Http\Controllers\Admin\PrintAreaController;
|
||||
use App\Http\Controllers\Admin\ContractAllowableCityController;
|
||||
use App\Http\Controllers\Admin\ManagerController;
|
||||
|
||||
use App\Http\Controllers\Admin\TaxController;
|
||||
use App\Http\Controllers\Admin\PaymentController;
|
||||
use App\Http\Controllers\Admin\SettlementTransactionController;
|
||||
|
||||
use App\Http\Controllers\Admin\OpeController;
|
||||
use App\Http\Controllers\Admin\DeviceController;
|
||||
use App\Http\Controllers\Admin\OperatorQueController;
|
||||
use App\Http\Controllers\Admin\SettingController;
|
||||
|
||||
|
||||
/**
|
||||
* Laravel 12変更点:ルート定義の書き方が変更
|
||||
* Laravel 5.7: Route::get('url', 'Controller@method') の形式
|
||||
@ -94,151 +112,186 @@ Route::middleware('auth')->group(function () {
|
||||
Route::get('/using_status/api', [App\Http\Controllers\Admin\UsingStatusController::class, 'apiGetUtilization'])->name('using_status.api');
|
||||
Route::get('/using_status/export', [App\Http\Controllers\Admin\UsingStatusController::class, 'exportCsv'])->name('using_status.export');
|
||||
|
||||
// [東京都|〇〇駐輪場] 定期種別マスタ
|
||||
Route::match(['get', 'post'], '/regular_types', [App\Http\Controllers\Admin\RegularTypeController::class, 'list'])->name('regular_types');
|
||||
Route::match(['get', 'post'], '/regular_types/add', [App\Http\Controllers\Admin\RegularTypeController::class, 'add'])->name('regular_type_add');
|
||||
Route::match(['get', 'post'], '/regular_types/edit/{id}', [App\Http\Controllers\Admin\RegularTypeController::class, 'edit'])->where(['id' => '[0-9]+'])->name('regular_type_edit');
|
||||
Route::match(['get', 'post'], '/regular_types/info/{id}', [App\Http\Controllers\Admin\RegularTypeController::class, 'info'])->where(['id' => '[0-9]+'])->name('regular_type_info');
|
||||
Route::match(['get', 'post'], '/regular_types/delete', [App\Http\Controllers\Admin\RegularTypeController::class, 'delete'])->name('regular_types_delete');
|
||||
Route::match(['get', 'post'], '/regular_types/import', [App\Http\Controllers\Admin\RegularTypeController::class, 'import'])->name('regular_types_import');
|
||||
Route::get('/regular_types/export', [App\Http\Controllers\Admin\RegularTypeController::class, 'export'])->name('regular_types_export');
|
||||
//kin 2025/08/25 start
|
||||
// [東京都|〇〇駐輪場] 定期種別マスタ
|
||||
Route::match(['get', 'post'], '/regular_types', [RegularTypeController::class, 'list'])->name('regular_types');
|
||||
Route::match(['get', 'post'], '/regular_types/add', [RegularTypeController::class, 'add'])->name('regular_types_add');
|
||||
Route::match(['get', 'post'], '/regular_types/edit/{id}', [RegularTypeController::class, 'edit'])
|
||||
->where(['id' => '[0-9]+'])
|
||||
->name('regular_types_edit');
|
||||
Route::match(['get', 'post'], '/regular_types/info/{id}', [RegularTypeController::class, 'info'])
|
||||
->where(['id' => '[0-9]+'])
|
||||
->name('regular_types_info');
|
||||
Route::match(['get', 'post'], '/regular_types/delete', [RegularTypeController::class, 'delete'])->name('regular_types_delete');
|
||||
Route::match(['get', 'post'], '/regular_types/import', [RegularTypeController::class, 'import'])->name('regular_types_import');
|
||||
Route::get('/regular_types/export', [RegularTypeController::class, 'export'])->name('regular_types_export');
|
||||
|
||||
// [東京都|〇〇駐輪場] 近傍駅マスタ
|
||||
Route::match(['get', 'post'], '/neighbor_stations', [App\Http\Controllers\Admin\NeighborStationController::class, 'list'])->name('neighbor_stations');
|
||||
Route::match(['get', 'post'], '/neighbor_stations/add', [App\Http\Controllers\Admin\NeighborStationController::class, 'add'])->name('neighbor_stations_add');
|
||||
Route::match(['get', 'post'], '/neighbor_stations/edit/{id}', [App\Http\Controllers\Admin\NeighborStationController::class, 'edit'])->where(['id' => '[0-9]+'])->name('neighbor_stations_edit');
|
||||
Route::get('/neighbor_stations/info/{id}', [App\Http\Controllers\Admin\NeighborStationController::class, 'info'])->where(['id' => '[0-9]+'])->name('neighbor_stations_info');
|
||||
Route::match(['get', 'post'], '/neighbor_stations/delete', [App\Http\Controllers\Admin\NeighborStationController::class, 'delete'])->name('neighbor_stations_delete');
|
||||
Route::post('/neighbor_stations/import', [App\Http\Controllers\Admin\NeighborStationController::class, 'import'])->name('neighbor_stations_import');
|
||||
Route::get('/neighbor_stations/export', [App\Http\Controllers\Admin\NeighborStationController::class, 'export'])->name('neighbor_stations_export');
|
||||
// [東京都|〇〇駐輪場] 近傍駅マスタ
|
||||
Route::match(['get', 'post'], '/stations', [StationController::class, 'list'])->name('stations');
|
||||
Route::match(['get', 'post'], '/stations/add', [StationController::class, 'add'])->name('stations_add');
|
||||
Route::match(['get', 'post'], '/stations/edit/{id}', [StationController::class, 'edit'])
|
||||
->where(['id' => '[0-9]+'])
|
||||
->name('stations_edit');
|
||||
Route::get('/stations/info/{id}', [StationController::class, 'info'])
|
||||
->where(['id' => '[0-9]+'])
|
||||
->name('stations_info');
|
||||
Route::match(['get', 'post'], '/stations/delete', [StationController::class, 'delete'])->name('stations_delete');
|
||||
Route::post('/stations/import', [StationController::class, 'import'])->name('stations_import');
|
||||
Route::get('/stations/export', [StationController::class, 'export'])->name('stations_export');
|
||||
|
||||
// [東京都|〇〇駐輪場] 利用契約マスタ
|
||||
Route::match(['get', 'post'], '/terms', [App\Http\Controllers\Admin\TermsController::class, 'list'])->name('terms'); // 一覧表示
|
||||
Route::match(['get', 'post'], '/terms/add', [App\Http\Controllers\Admin\TermsController::class, 'add'])->name('terms_add'); // 新規登録画面・登録処理
|
||||
Route::match(['get', 'post'], '/terms/edit/{term_id}', [App\Http\Controllers\Admin\TermsController::class, 'edit'])->where(['term_id' => '[0-9]+'])->name('terms_edit'); // 編集画面・更新処理
|
||||
Route::match(['get', 'post'], '/terms/info/{term_id}', [App\Http\Controllers\Admin\TermsController::class, 'info'])->where(['term_id' => '[0-9]+'])->name('terms_info'); // 詳細表示
|
||||
Route::match(['get', 'post'], '/terms/delete', [App\Http\Controllers\Admin\TermsController::class, 'delete'])->name('terms_delete'); // 削除処理(複数可)
|
||||
Route::match(['get', 'post'], '/terms/import', [App\Http\Controllers\Admin\TermsController::class, 'import'])->name('terms_import'); // CSVインポート(仮)
|
||||
Route::get('/terms/export', [App\Http\Controllers\Admin\TermsController::class, 'export'])->name('terms_export'); // CSVエクスポート
|
||||
|
||||
Route::match(['get', 'post'], '/terms', [TermsController::class, 'list'])->name('terms');
|
||||
Route::match(['get', 'post'], '/terms/add', [TermsController::class, 'add'])->name('terms_add');
|
||||
Route::match(['get', 'post'], '/terms/edit/{id}', [TermsController::class, 'edit'])
|
||||
->where(['id' => '[0-9]+'])
|
||||
->name('terms_edit');
|
||||
Route::get('/terms/info/{id}', [TermsController::class, 'info'])
|
||||
->where(['id' => '[0-9]+'])
|
||||
->name('terms_info');
|
||||
Route::match(['get', 'post'], '/terms/delete', [TermsController::class, 'delete'])->name('terms_delete');
|
||||
Route::post('/terms/import', [TermsController::class, 'import'])->name('terms_import');
|
||||
Route::get('/terms/export', [TermsController::class, 'export'])->name('terms_export');
|
||||
|
||||
// [東京都|〇〇駐輪場] 管轄駐輪場マスタ
|
||||
Route::match(['get', 'post'], '/jurisdiction_parkings', [App\Http\Controllers\Admin\JurisdictionParkingController::class, 'list'])->name('jurisdiction_parkings'); // 一覧表示
|
||||
Route::match(['get', 'post'], '/jurisdiction_parkings/add', [App\Http\Controllers\Admin\JurisdictionParkingController::class, 'add'])->name('jurisdiction_parkings_add'); // 新規登録画面・登録処理
|
||||
Route::match(['get', 'post'], '/jurisdiction_parkings/edit/{jurisdiction_parking_id}', [App\Http\Controllers\Admin\JurisdictionParkingController::class, 'edit'])->where(['jurisdiction_parking_id' => '[0-9]+'])->name('jurisdiction_parkings_edit'); // 編集画面・更新処理
|
||||
Route::match(['get', 'post'], '/jurisdiction_parkings/info/{jurisdiction_parking_id}', [App\Http\Controllers\Admin\JurisdictionParkingController::class, 'info'])->where(['jurisdiction_parking_id' => '[0-9]+'])->name('jurisdiction_parkings_info'); // 詳細表示
|
||||
Route::match(['get', 'post'], '/jurisdiction_parkings/delete', [App\Http\Controllers\Admin\JurisdictionParkingController::class, 'delete'])->name('jurisdiction_parkings_delete'); // 削除処理(複数可)
|
||||
Route::match(['get', 'post'], '/jurisdiction_parkings/import', [App\Http\Controllers\Admin\JurisdictionParkingController::class, 'import'])->name('jurisdiction_parkings_import'); // CSVインポート(仮)
|
||||
Route::get('/jurisdiction_parkings/export', [App\Http\Controllers\Admin\JurisdictionParkingController::class, 'export'])->name('jurisdiction_parkings_export'); // CSVエクスポート
|
||||
|
||||
Route::match(['get', 'post'], '/jurisdiction_parkings', [JurisdictionParkingController::class, 'list'])->name('jurisdiction_parkings');
|
||||
Route::match(['get', 'post'], '/jurisdiction_parkings/add', [JurisdictionParkingController::class, 'add'])->name('jurisdiction_parkings_add');
|
||||
Route::match(['get', 'post'], '/jurisdiction_parkings/edit/{id}', [JurisdictionParkingController::class, 'edit'])
|
||||
->where(['id' => '[0-9]+'])
|
||||
->name('jurisdiction_parkings_edit');
|
||||
Route::get('/jurisdiction_parkings/info/{id}', [JurisdictionParkingController::class, 'info'])
|
||||
->where(['id' => '[0-9]+'])
|
||||
->name('jurisdiction_parkings_info');
|
||||
Route::match(['get', 'post'], '/jurisdiction_parkings/delete', [JurisdictionParkingController::class, 'delete'])->name('jurisdiction_parkings_delete');
|
||||
Route::post('/jurisdiction_parkings/import', [JurisdictionParkingController::class, 'import'])->name('jurisdiction_parkings_import');
|
||||
Route::get('/jurisdiction_parkings/export', [JurisdictionParkingController::class, 'export'])->name('jurisdiction_parkings_export');
|
||||
|
||||
// [東京都|〇〇駐輪場] シール印刷範囲マスタ
|
||||
Route::match(['get', 'post'], '/print_areas', [App\Http\Controllers\Admin\PrintAreaController::class, 'list'])->name('print_areas');
|
||||
Route::match(['get', 'post'], '/print_areas/add', [App\Http\Controllers\Admin\PrintAreaController::class, 'add'])->name('print_areas_add');
|
||||
Route::match(['get', 'post'], '/print_areas/edit/{print_area_id}', [App\Http\Controllers\Admin\PrintAreaController::class, 'edit'])->name('print_areas_edit')->where(['print_area_id' => '[0-9]+']);
|
||||
Route::match(['get', 'post'], '/print_areas/info/{print_area_id}', [App\Http\Controllers\Admin\PrintAreaController::class, 'info'])->name('print_areas_info')->where(['print_area_id' => '[0-9]+']);
|
||||
Route::match(['get', 'post'], '/print_areas/delete', [App\Http\Controllers\Admin\PrintAreaController::class, 'delete'])->name('print_areas_delete');
|
||||
Route::match(['get', 'post'], '/print_areas/import', [App\Http\Controllers\Admin\PrintAreaController::class, 'import'])->name('print_areas_import');
|
||||
Route::get('/print_areas/export', [App\Http\Controllers\Admin\PrintAreaController::class, 'export'])->name('print_areas_export');
|
||||
|
||||
|
||||
// [東京都|〇〇駐輪場] 契約許容市区マスタ
|
||||
Route::match(['get', 'post'], '/contract_allowable_cities', [App\Http\Controllers\Admin\ContractAllowableCityController::class, 'list'])->name('contract_allowable_cities');
|
||||
Route::match(['get', 'post'], '/contract_allowable_cities/add', [App\Http\Controllers\Admin\ContractAllowableCityController::class, 'add'])->name('contract_allowable_cities_add');
|
||||
Route::match(['get', 'post'], '/contract_allowable_cities/edit/{contract_allowable_city_id}', [App\Http\Controllers\Admin\ContractAllowableCityController::class, 'edit'])->name('contract_allowable_cities_edit')->where(['contract_allowable_city_id' => '[0-9]+']);
|
||||
Route::match(['get', 'post'], '/contract_allowable_cities/info/{contract_allowable_city_id}', [App\Http\Controllers\Admin\ContractAllowableCityController::class, 'info'])->name('contract_allowable_cities_info')->where(['contract_allowable_city_id' => '[0-9]+']);
|
||||
Route::match(['get', 'post'], '/contract_allowable_cities/delete', [App\Http\Controllers\Admin\ContractAllowableCityController::class, 'delete'])->name('contract_allowable_cities_delete');
|
||||
Route::match(['get', 'post'], '/contract_allowable_cities/import', [App\Http\Controllers\Admin\ContractAllowableCityController::class, 'import'])->name('contract_allowable_cities_import');
|
||||
Route::get('/contract_allowable_cities/export', [App\Http\Controllers\Admin\ContractAllowableCityController::class, 'export'])->name('contract_allowable_cities_export');
|
||||
|
||||
|
||||
// [東京都|〇〇駐輪場] 管駐輪場管理者マスタ
|
||||
Route::match(['get', 'post'], '/managers', [App\Http\Controllers\Admin\ManagerController::class, 'list'])->name('managers');
|
||||
Route::match(['get', 'post'], '/managers/add', [App\Http\Controllers\Admin\ManagerController::class, 'add'])->name('managers_add');
|
||||
Route::match(['get', 'post'], '/managers/edit/{manager_id}', [App\Http\Controllers\Admin\ManagerController::class, 'edit'])->name('managers_edit')->where(['manager_id' => '[0-9]+']);
|
||||
Route::match(['get', 'post'], '/managers/info/{manager_id}', [App\Http\Controllers\Admin\ManagerController::class, 'info'])->name('managers_info')->where(['manager_id' => '[0-9]+']);
|
||||
Route::match(['get', 'post'], '/managers/delete', [App\Http\Controllers\Admin\ManagerController::class, 'delete'])->name('managers_delete');
|
||||
Route::match(['get', 'post'], '/managers/import', [App\Http\Controllers\Admin\ManagerController::class, 'import'])->name('managers_import');
|
||||
Route::get('/managers/export', [App\Http\Controllers\Admin\ManagerController::class, 'export'])->name('managers_export');
|
||||
Route::match(['get', 'post'], '/print_areas', [PrintAreaController::class, 'list'])->name('print_areas');
|
||||
Route::match(['get', 'post'], '/print_areas/add', [PrintAreaController::class, 'add'])->name('print_areas_add');
|
||||
Route::match(['get', 'post'], '/print_areas/edit/{id}', [PrintAreaController::class, 'edit'])
|
||||
->where(['id' => '[0-9]+'])
|
||||
->name('print_areas_edit');
|
||||
Route::get('/print_areas/info/{id}', [PrintAreaController::class, 'info'])
|
||||
->where(['id' => '[0-9]+'])
|
||||
->name('print_areas_info');
|
||||
Route::match(['get', 'post'], '/print_areas/delete', [PrintAreaController::class, 'delete'])->name('print_areas_delete');
|
||||
Route::post('/print_areas/import', [PrintAreaController::class, 'import'])->name('print_areas_import');
|
||||
Route::get('/print_areas/export', [PrintAreaController::class, 'export'])->name('print_areas_export');
|
||||
|
||||
//[東京都|〇〇駐輪場] 契約許容市区マスタ
|
||||
Route::match(['get', 'post'], '/contract_allowable_cities', [ContractAllowableCityController::class, 'list'])->name('contract_allowable_cities');
|
||||
Route::match(['get', 'post'], '/contract_allowable_cities/add', [ContractAllowableCityController::class, 'add'])->name('contract_allowable_cities_add');
|
||||
Route::match(['get', 'post'], '/contract_allowable_cities/edit/{id}', [ContractAllowableCityController::class, 'edit'])
|
||||
->where(['id' => '[0-9]+'])
|
||||
->name('contract_allowable_cities_edit');
|
||||
Route::get('/contract_allowable_cities/info/{id}', [ContractAllowableCityController::class, 'info'])
|
||||
->where(['id' => '[0-9]+'])
|
||||
->name('contract_allowable_cities_info');
|
||||
Route::match(['get', 'post'], '/contract_allowable_cities/delete', [ContractAllowableCityController::class, 'delete'])->name('contract_allowable_cities_delete');
|
||||
Route::post('/contract_allowable_cities/import', [ContractAllowableCityController::class, 'import'])->name('contract_allowable_cities_import');
|
||||
Route::get('/contract_allowable_cities/export', [ContractAllowableCityController::class, 'export'])->name('contract_allowable_cities_export');
|
||||
|
||||
//[東京都|〇〇駐輪場] 管駐輪場管理者マスタ
|
||||
Route::match(['get', 'post'], '/managers', [ManagerController::class, 'list'])->name('managers');
|
||||
Route::match(['get', 'post'], '/managers/add', [ManagerController::class, 'add'])->name('managers_add');
|
||||
Route::match(['get', 'post'], '/managers/edit/{id}', [ManagerController::class, 'edit'])
|
||||
->where(['id' => '[0-9]+'])
|
||||
->name('managers_edit');
|
||||
Route::get('/managers/info/{id}', [ManagerController::class, 'info'])
|
||||
->where(['id' => '[0-9]+'])
|
||||
->name('managers_info');
|
||||
Route::match(['get', 'post'], '/managers/delete', [ManagerController::class, 'delete'])->name('managers_delete');
|
||||
Route::post('/managers/import', [ManagerController::class, 'import'])->name('managers_import');
|
||||
Route::get('/managers/export', [ManagerController::class, 'export'])->name('managers_export');
|
||||
|
||||
// [東京都|〇〇駐輪場] 消費税マスタ
|
||||
Route::match(['get', 'post'], '/tax', [App\Http\Controllers\Admin\TaxController::class, 'list'])->name('tax');
|
||||
Route::match(['get', 'post'], '/tax/add', [App\Http\Controllers\Admin\TaxController::class, 'add'])->name('tax_add');
|
||||
Route::match(['get', 'post'], '/tax/edit/{tax_id}', [App\Http\Controllers\Admin\TaxController::class, 'edit'])
|
||||
->name('tax_edit')->where(['tax_id' => '[0-9]+']);
|
||||
Route::match(['get', 'post'], '/tax/info/{tax_id}', [App\Http\Controllers\Admin\TaxController::class, 'info'])
|
||||
->name('tax_info')->where(['tax_id' => '[0-9]+']);
|
||||
Route::match(['get', 'post'], '/tax/delete', [App\Http\Controllers\Admin\TaxController::class, 'delete'])->name('tax_delete');
|
||||
Route::match(['get', 'post'], '/tax/import', [App\Http\Controllers\Admin\TaxController::class, 'import'])->name('tax_import');
|
||||
Route::get('/tax/export', [App\Http\Controllers\Admin\TaxController::class, 'export'])->name('tax_export');
|
||||
Route::match(['get', 'post'], '/tax', [TaxController::class, 'list'])->name('tax');
|
||||
Route::match(['get', 'post'], '/tax/add', [TaxController::class, 'add'])->name('tax_add');
|
||||
Route::match(['get', 'post'], '/tax/edit/{id}', [TaxController::class, 'edit'])
|
||||
->where(['id' => '[0-9]+'])
|
||||
->name('tax_edit');
|
||||
Route::get('/tax/info/{id}', [TaxController::class, 'info'])
|
||||
->where(['id' => '[0-9]+'])
|
||||
->name('tax_info');
|
||||
Route::match(['get', 'post'], '/tax/delete', [TaxController::class, 'delete'])->name('tax_delete');
|
||||
Route::post('/tax/import', [TaxController::class, 'import'])->name('tax_import');
|
||||
Route::get('/tax/export', [TaxController::class, 'export'])->name('tax_export');
|
||||
|
||||
// [東京都|〇〇駐輪場] 決済情報マスタ
|
||||
Route::match(['get', 'post'], '/payments', [App\Http\Controllers\Admin\PaymentController::class, 'list'])->name('payments');
|
||||
Route::match(['get', 'post'], '/payments/add', [App\Http\Controllers\Admin\PaymentController::class, 'add'])->name('payments_add');
|
||||
Route::match(['get', 'post'], '/payments/edit/{payment_id}', [App\Http\Controllers\Admin\PaymentController::class, 'edit'])
|
||||
->name('payments_edit')->where(['payment_id' => '[0-9]+']);
|
||||
Route::match(['get', 'post'], '/payments/info/{payment_id}', [App\Http\Controllers\Admin\PaymentController::class, 'info'])
|
||||
->name('payments_info')->where(['payment_id' => '[0-9]+']);
|
||||
Route::match(['get', 'post'], '/payments/delete', [App\Http\Controllers\Admin\PaymentController::class, 'delete'])->name('payments_delete');
|
||||
Route::match(['get', 'post'], '/payments/import', [App\Http\Controllers\Admin\PaymentController::class, 'import'])->name('payments_import');
|
||||
Route::get('/payments/export', [App\Http\Controllers\Admin\PaymentController::class, 'export'])->name('payments_export');
|
||||
Route::match(['get', 'post'], '/payments', [PaymentController::class, 'list'])->name('payments');
|
||||
Route::match(['get', 'post'], '/payments/add', [PaymentController::class, 'add'])->name('payments_add');
|
||||
Route::match(['get', 'post'], '/payments/edit/{id}', [PaymentController::class, 'edit'])
|
||||
->where(['id' => '[0-9]+'])
|
||||
->name('payments_edit');
|
||||
Route::get('/payments/info/{id}', [PaymentController::class, 'info'])
|
||||
->where(['id' => '[0-9]+'])
|
||||
->name('payments_info');
|
||||
Route::match(['get', 'post'], '/payments/delete', [PaymentController::class, 'delete'])->name('payments_delete');
|
||||
Route::post('/payments/import', [PaymentController::class, 'import'])->name('payments_import');
|
||||
Route::get('/payments/export', [PaymentController::class, 'export'])->name('payments_export');
|
||||
|
||||
// [東京都|〇〇駐輪場] 決済トランザクション
|
||||
Route::match(['get', 'post'], '/settlement_transactions', [App\Http\Controllers\Admin\SettlementTransactionController::class, 'list'])->name('settlement_transactions');
|
||||
Route::match(['get', 'post'], '/settlement_transactions/add', [App\Http\Controllers\Admin\SettlementTransactionController::class, 'add'])->name('settlement_transactions_add');
|
||||
Route::match(['get', 'post'], '/settlement_transactions/edit/{settlement_transaction_id}', [App\Http\Controllers\Admin\SettlementTransactionController::class, 'edit'])
|
||||
->name('settlement_transactions_edit')->where(['settlement_transaction_id' => '[0-9]+']);
|
||||
Route::match(['get', 'post'], '/settlement_transactions/info/{settlement_transaction_id}', [App\Http\Controllers\Admin\SettlementTransactionController::class, 'info'])
|
||||
->name('settlement_transactions_info')->where(['settlement_transaction_id' => '[0-9]+']);
|
||||
Route::match(['get', 'post'], '/settlement_transactions/delete', [App\Http\Controllers\Admin\SettlementTransactionController::class, 'delete'])->name('settlement_transactions_delete');
|
||||
Route::match(['get', 'post'], '/settlement_transactions/import', [App\Http\Controllers\Admin\SettlementTransactionController::class, 'import'])->name('settlement_transactions_import');
|
||||
Route::get('/settlement_transactions/export', [App\Http\Controllers\Admin\SettlementTransactionController::class, 'export'])->name('settlement_transactions_export');
|
||||
Route::match(['get', 'post'], '/settlement_transactions', [SettlementTransactionController::class, 'list'])->name('settlement_transactions');
|
||||
Route::match(['get', 'post'], '/settlement_transactions/add', [SettlementTransactionController::class, 'add'])->name('settlement_transactions_add');
|
||||
Route::match(['get', 'post'], '/settlement_transactions/edit/{id}', [SettlementTransactionController::class, 'edit'])
|
||||
->where(['id' => '[0-9]+'])
|
||||
->name('settlement_transactions_edit');
|
||||
Route::get('/settlement_transactions/info/{id}', [SettlementTransactionController::class, 'info'])
|
||||
->where(['id' => '[0-9]+'])
|
||||
->name('settlement_transactions_info');
|
||||
Route::match(['get', 'post'], '/settlement_transactions/delete', [SettlementTransactionController::class, 'delete'])->name('settlement_transactions_delete');
|
||||
Route::post('/settlement_transactions/import', [SettlementTransactionController::class, 'import'])->name('settlement_transactions_import');
|
||||
Route::get('/settlement_transactions/export', [SettlementTransactionController::class, 'export'])->name('settlement_transactions_export');
|
||||
|
||||
// [東京都|〇〇駐輪場] オペレーターマスタ
|
||||
Route::match(['get','post'], '/ope', [App\Http\Controllers\Admin\OpeController::class, 'list'])->name('opes');
|
||||
Route::match(['get','post'], '/ope/add', [App\Http\Controllers\Admin\OpeController::class, 'add'])->name('opes_add');
|
||||
Route::match(['get','post'], '/ope/edit/{id}', [App\Http\Controllers\Admin\OpeController::class, 'edit'])
|
||||
->where(['id' => '[0-9]+'])->name('opes_edit');
|
||||
Route::match(['get','post'], '/ope/info/{id}', [App\Http\Controllers\Admin\OpeController::class, 'info'])
|
||||
->where(['id' => '[0-9]+'])->name('opes_info');
|
||||
Route::match(['get','post'], '/ope/delete', [App\Http\Controllers\Admin\OpeController::class, 'delete'])->name('opes_delete');
|
||||
Route::match(['get','post'], '/ope/import', [App\Http\Controllers\Admin\OpeController::class, 'import'])->name('opes_import');
|
||||
Route::get('/ope/export', [App\Http\Controllers\Admin\OpeController::class, 'export'])->name('opes_export');
|
||||
|
||||
Route::match(['get', 'post'], '/ope', [OpeController::class, 'list'])->name('opes');
|
||||
Route::match(['get', 'post'], '/ope/add', [OpeController::class, 'add'])->name('opes_add');
|
||||
Route::match(['get', 'post'], '/ope/edit/{id}', [OpeController::class, 'edit'])
|
||||
->where(['id' => '[0-9]+'])
|
||||
->name('opes_edit');
|
||||
Route::get('/ope/info/{id}', [OpeController::class, 'info'])
|
||||
->where(['id' => '[0-9]+'])
|
||||
->name('opes_info');
|
||||
Route::match(['get', 'post'], '/ope/delete', [OpeController::class, 'delete'])->name('opes_delete');
|
||||
Route::post('/ope/import', [OpeController::class, 'import'])->name('opes_import');
|
||||
Route::get('/ope/export', [OpeController::class, 'export'])->name('opes_export');
|
||||
|
||||
// [東京都|〇〇駐輪場] デバイス管理マスタ
|
||||
Route::match(['get', 'post'], '/device', [App\Http\Controllers\Admin\DeviceController::class, 'list'])->name('devices');
|
||||
Route::match(['get', 'post'], '/device/add', [App\Http\Controllers\Admin\DeviceController::class, 'add'])->name('devices_add');
|
||||
Route::match(['get', 'post'], '/device/edit/{id}', [App\Http\Controllers\Admin\DeviceController::class, 'edit'])
|
||||
->where(['id' => '[0-9]+'])->name('devices_edit');
|
||||
Route::match(['get', 'post'], '/device/info/{id}', [App\Http\Controllers\Admin\DeviceController::class, 'info'])
|
||||
->where(['id' => '[0-9]+'])->name('devices_info');
|
||||
Route::match(['get', 'post'], '/device/delete', [App\Http\Controllers\Admin\DeviceController::class, 'delete'])->name('devices_delete');
|
||||
Route::match(['get', 'post'], '/device/import', [App\Http\Controllers\Admin\DeviceController::class, 'import'])->name('devices_import');
|
||||
Route::get('/device/export', [App\Http\Controllers\Admin\DeviceController::class, 'export'])->name('devices_export');
|
||||
Route::match(['get', 'post'], '/device', [DeviceController::class, 'list'])->name('devices');
|
||||
Route::match(['get', 'post'], '/device/add', [DeviceController::class, 'add'])->name('devices_add');
|
||||
Route::match(['get', 'post'], '/device/edit/{id}', [DeviceController::class, 'edit'])
|
||||
->where(['id' => '[0-9]+'])
|
||||
->name('devices_edit');
|
||||
Route::get('/device/info/{id}', [DeviceController::class, 'info'])
|
||||
->where(['id' => '[0-9]+'])
|
||||
->name('devices_info');
|
||||
Route::match(['get', 'post'], '/device/delete', [DeviceController::class, 'delete'])->name('devices_delete');
|
||||
Route::post('/device/import', [DeviceController::class, 'import'])->name('devices_import');
|
||||
|
||||
// [東京都|〇〇駐輪場] オペレーターキュー
|
||||
Route::match(['get', 'post'], '/operator_que', [App\Http\Controllers\Admin\OperatorQueController::class, 'list'])->middleware('auth')->name('operator_ques');
|
||||
Route::match(['get', 'post'], '/operator_que/add', [App\Http\Controllers\Admin\OperatorQueController::class, 'add'])->middleware('auth')->name('operator_ques_add');
|
||||
Route::match(['get', 'post'], '/operator_que/edit/{id}', [App\Http\Controllers\Admin\OperatorQueController::class, 'edit'])->where(['id' => '[0-9]+'])->middleware('auth')->name('operator_ques_edit');
|
||||
Route::match(['get', 'post'], '/operator_que/info/{id}', [App\Http\Controllers\Admin\OperatorQueController::class, 'info'])->where(['id' => '[0-9]+'])->middleware('auth')->name('operator_ques_info');
|
||||
Route::match(['get', 'post'], '/operator_que/delete', [App\Http\Controllers\Admin\OperatorQueController::class, 'delete'])->name('operator_ques_delete');
|
||||
Route::match(['get', 'post'], '/operator_ques/import', [App\Http\Controllers\Admin\OperatorQueController::class, 'import'])->name('operator_ques_import');
|
||||
Route::get('/operator_ques/export', [App\Http\Controllers\Admin\OperatorQueController::class, 'export'])->name('operator_ques_export');
|
||||
Route::match(['get', 'post'], '/operator_que', [OperatorQueController::class, 'list'])->name('operator_ques');
|
||||
Route::match(['get', 'post'], '/operator_que/add', [OperatorQueController::class, 'add'])->name('operator_ques_add');
|
||||
Route::match(['get', 'post'], '/operator_que/edit/{id}', [OperatorQueController::class, 'edit'])
|
||||
->where(['id' => '[0-9]+'])
|
||||
->name('operator_ques_edit');
|
||||
Route::get('/operator_que/info/{id}', [OperatorQueController::class, 'info'])
|
||||
->where(['id' => '[0-9]+'])
|
||||
->name('operator_ques_info');
|
||||
Route::match(['get', 'post'], '/operator_que/delete', [OperatorQueController::class, 'delete'])->name('operator_ques_delete');
|
||||
Route::post('/operator_que/import', [OperatorQueController::class, 'import'])->name('operator_ques_import');
|
||||
Route::get('/operator_que/export', [OperatorQueController::class, 'export'])->name('operator_ques_export');
|
||||
|
||||
|
||||
// [東京都|〇〇駐輪場] 設定マスタ
|
||||
Route::match(['get', 'post'], '/setting', [App\Http\Controllers\Admin\SettingController::class, 'list'])
|
||||
->middleware('auth')->name('settings');
|
||||
Route::match(['get', 'post'], '/setting/add', [App\Http\Controllers\Admin\SettingController::class, 'add'])
|
||||
->middleware('auth')->name('settings_add');
|
||||
Route::match(['get', 'post'], '/setting/edit/{id}', [App\Http\Controllers\Admin\SettingController::class, 'edit'])
|
||||
->where(['id' => '[0-9]+'])->middleware('auth')->name('settings_edit');
|
||||
Route::match(['get', 'post'], '/setting/info/{id}', [App\Http\Controllers\Admin\SettingController::class, 'info'])
|
||||
->where(['id' => '[0-9]+'])->middleware('auth')->name('settings_info');
|
||||
Route::match(['get', 'post'], '/setting/delete', [App\Http\Controllers\Admin\SettingController::class, 'delete'])
|
||||
->middleware('auth')->name('settings_delete');
|
||||
|
||||
Route::match(['get', 'post'], '/setting', [SettingController::class, 'list'])->name('settings');
|
||||
Route::match(['get', 'post'], '/setting/add', [SettingController::class, 'add'])->name('settings_add');
|
||||
Route::match(['get', 'post'], '/setting/edit/{id}', [SettingController::class, 'edit'])
|
||||
->where(['id' => '[0-9]+'])
|
||||
->name('settings_edit');
|
||||
Route::get('/setting/info/{id}', [SettingController::class, 'info'])
|
||||
->where(['id' => '[0-9]+'])
|
||||
->name('settings_info');
|
||||
Route::match(['get', 'post'], '/setting/delete', [SettingController::class, 'delete'])->name('settings_delete');
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user