This commit is contained in:
parent
1cf94bc8aa
commit
1d5db12a27
@ -12,12 +12,9 @@ class CityController extends Controller
|
|||||||
{
|
{
|
||||||
public function list(Request $request)
|
public function list(Request $request)
|
||||||
{
|
{
|
||||||
$inputs = [
|
$sort = $request->input('sort', 'city_id');
|
||||||
'isMethodPost' => $request->isMethod('post'),
|
$sortType = $request->input('sort_type', 'asc');
|
||||||
'sort' => $request->input('sort', ''),
|
$page = $request->get('page', 1);
|
||||||
'sort_type' => $request->input('sort_type', ''),
|
|
||||||
'page' => $request->get('page', 1),
|
|
||||||
];
|
|
||||||
|
|
||||||
$query = City::query();
|
$query = City::query();
|
||||||
|
|
||||||
@ -25,17 +22,28 @@ class CityController extends Controller
|
|||||||
$query->where('city_name', 'like', '%' . $request->input('city_name') . '%');
|
$query->where('city_name', 'like', '%' . $request->input('city_name') . '%');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($inputs['sort'])) {
|
// 排序处理
|
||||||
$query->orderBy($inputs['sort'], $inputs['sort_type'] ?? 'asc');
|
if (!empty($sort)) {
|
||||||
|
$query->orderBy($sort, $sortType);
|
||||||
}
|
}
|
||||||
|
|
||||||
$inputs['list'] = $query->paginate(20);
|
$list = $query->paginate(20);
|
||||||
|
|
||||||
if ($inputs['list']->total() > 0 && $inputs['page'] > $inputs['list']->lastPage()) {
|
// 页码越界处理
|
||||||
return redirect()->route('city');
|
if ($list->total() > 0 && $page > $list->lastPage()) {
|
||||||
|
return redirect()->route('city', [
|
||||||
|
'sort' => $sort,
|
||||||
|
'sort_type' => $sortType,
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return view('admin.CityMaster.list', $inputs);
|
return view('admin.CityMaster.list', [
|
||||||
|
'isMethodPost' => $request->isMethod('post'),
|
||||||
|
'sort' => $sort,
|
||||||
|
'sort_type' => $sortType,
|
||||||
|
'list' => $list,
|
||||||
|
'page' => $page,
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function add(Request $request)
|
public function add(Request $request)
|
||||||
@ -49,10 +57,10 @@ class CityController extends Controller
|
|||||||
|
|
||||||
if ($request->isMethod('POST')) {
|
if ($request->isMethod('POST')) {
|
||||||
$rules = [
|
$rules = [
|
||||||
'city_name' => ['required', 'string', 'max:10', 'regex:/^[^ -~。-゚]+$/u'], // 全角のみ
|
'city_name' => ['required', 'string', 'max:10', 'regex:/^[^ -~。-゚]+$/u'],
|
||||||
'print_layout' => ['required', 'string', 'max:10', 'regex:/^[^ -~。-゚]+$/u'], // 全角のみ
|
'print_layout' => ['required', 'string', 'max:10', 'regex:/^[^ -~。-゚]+$/u'],
|
||||||
'city_user' => ['required', 'string', 'max:10', 'regex:/^[^ -~。-゚]+$/u'], // 全角のみ
|
'city_user' => ['required', 'string', 'max:10', 'regex:/^[^ -~。-゚]+$/u'],
|
||||||
'city_remarks' => ['nullable', 'string', 'max:20'], // 全角半角可・任意
|
'city_remarks' => ['nullable', 'string', 'max:20'],
|
||||||
];
|
];
|
||||||
$messages = [
|
$messages = [
|
||||||
'city_name.required' => '市区名は必須です。',
|
'city_name.required' => '市区名は必須です。',
|
||||||
@ -163,4 +171,4 @@ class CityController extends Controller
|
|||||||
return redirect()->route('city')->with('error', __('削除に失敗しました。'));
|
return redirect()->route('city')->with('error', __('削除に失敗しました。'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1,24 +1,53 @@
|
|||||||
<div class="form-group">
|
@php
|
||||||
<label for="city_id">市区ID</label>
|
$city = $city ?? null;
|
||||||
<input type="text" name="city_id" id="city_id" class="form-control" value="{{ old('city_id', $city->city_id ?? '') }}" readonly>
|
@endphp
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="rv-city-form-fields">
|
||||||
<label for="city_name">市区名 <span class="text-danger">*</span></label>
|
<div class="form-group row rv-city-field align-items-center">
|
||||||
<input type="text" name="city_name" id="city_name" class="form-control" value="{{ old('city_name', $city->city_name ?? '') }}" required maxlength="10" pattern="[^ -~。-゚]+" title="全角で入力してください">
|
<div class="form-group col-12 col-md-3 mb-2 mb-md-0">
|
||||||
</div>
|
<label for="city_name" class="col-form-label fw-semibold rv-city-label mb-0">
|
||||||
|
{{ __('市区名') }}<span class="text-danger">*</span>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-12 col-md-9 mb-0">
|
||||||
|
<input type="text" name="city_name" id="city_name" class="form-control"
|
||||||
|
value="{{ old('city_name', optional($city)->city_name) }}" maxlength="50" placeholder="市区名">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group row rv-city-field align-items-center">
|
||||||
<label for="print_layout">印字レイアウトファイル <span class="text-danger">*</span></label>
|
<div class="form-group col-12 col-md-3 mb-2 mb-md-0">
|
||||||
<input type="text" name="print_layout" id="print_layout" class="form-control" value="{{ old('print_layout', $city->print_layout ?? '') }}" required maxlength="10" pattern="[^ -~。-゚]+" title="全角で入力してください">
|
<label for="print_layout" class="col-form-label fw-semibold rv-city-label mb-0">
|
||||||
</div>
|
{{ __('印字レイアウトファイル') }}<span class="text-danger">*</span>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-12 col-md-9 mb-0">
|
||||||
|
<input type="text" name="print_layout" id="print_layout" class="form-control"
|
||||||
|
value="{{ old('print_layout', optional($city)->print_layout) }}" maxlength="100" placeholder="印字レイアウトファイル">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group row rv-city-field align-items-center">
|
||||||
<label for="city_user">顧客M入力不要フィールドID <span class="text-danger">*</span></label>
|
<div class="form-group col-12 col-md-3 mb-2 mb-md-0">
|
||||||
<input type="text" name="city_user" id="city_user" class="form-control" value="{{ old('city_user', $city->city_user ?? '') }}" required maxlength="10" pattern="[^ -~。-゚]+" title="全角で入力してください">
|
<label for="city_user" class="col-form-label fw-semibold rv-city-label mb-0">
|
||||||
</div>
|
{{ __('顧客M入力不要フィールドID') }}
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-12 col-md-9 mb-0">
|
||||||
|
<input type="text" name="city_user" id="city_user" class="form-control"
|
||||||
|
value="{{ old('city_user', optional($city)->city_user) }}" maxlength="50" placeholder="顧客M入力不要フィールドID">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group row rv-city-field align-items-center">
|
||||||
<label for="city_remarks">備考</label>
|
<div class="form-group col-12 col-md-3 mb-2 mb-md-0">
|
||||||
<textarea name="city_remarks" id="city_remarks" class="form-control" rows="3" maxlength="20">{{ old('city_remarks', $city->city_remarks ?? '') }}</textarea>
|
<label for="city_remarks" class="col-form-label fw-semibold rv-city-label mb-0">
|
||||||
|
{{ __('備考') }}
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-12 col-md-9 mb-0">
|
||||||
|
<textarea name="city_remarks" id="city_remarks" rows="3" class="form-control"
|
||||||
|
maxlength="200" placeholder="備考">{{ old('city_remarks', optional($city)->city_remarks) }}</textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,27 +1,120 @@
|
|||||||
|
{{-- filepath: c:\xampp82\htdocs\somanager-git_main\resources\views\admin\CityMaster\add.blade.php --}}
|
||||||
@extends('layouts.app')
|
@extends('layouts.app')
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
|
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="d-flex justify-content-between align-items-center mb-3">
|
<div class="d-flex flex-column flex-md-row align-items-md-center justify-content-between mb-3 gap-2">
|
||||||
<h3 class="mb-0">新規登録</h3>
|
<h2 class="mb-0 fw-bold">{{ __('新規') }}</h2>
|
||||||
<ol class="breadcrumb float-sm-right text-sm mb-0" style="background: #f8f9fa;">
|
<ol class="breadcrumb float-md-right text-sm mb-0 bg-transparent">
|
||||||
<li class="breadcrumb-item"><a href="{{ url('/home') }}">ホーム</a></li>
|
<li class="breadcrumb-item"><a href="{{ url('/home') }}">ホーム</a></li>
|
||||||
<li class="breadcrumb-item"><a href="{{ route('city') }}">市区マスタ</a></li>
|
<li class="breadcrumb-item"><a href="{{ route('city') }}">市区マスタ</a></li>
|
||||||
<li class="breadcrumb-item active">新規</li>
|
<li class="breadcrumb-item active">新規</li>
|
||||||
</ol>
|
</ol>
|
||||||
</div>
|
</div>
|
||||||
<div class="card shadow mb-4">
|
|
||||||
<div class="card-body">
|
@php($errorMessages = $errorMsg ?? [])
|
||||||
<form method="POST" action="{{ route('city_add') }}">
|
@if(!empty($errorMessages))
|
||||||
|
<div class="alert alert-danger">
|
||||||
|
<ul class="mb-0">
|
||||||
|
@foreach($errorMessages as $message)
|
||||||
|
<li>{{ $message }}</li>
|
||||||
|
@endforeach
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
<div class="card shadow-sm">
|
||||||
|
<div class="card-header bg-white py-3 d-flex justify-content-start">
|
||||||
|
<button type="submit" form="city-form" class="btn btn-lg btn-default mr-2 register">{{ __('登録') }}</button>
|
||||||
|
</div>
|
||||||
|
<div class="card-body py-4">
|
||||||
|
<form id="city-form" class="city-form" method="POST" action="{{ route('city_add') }}">
|
||||||
@csrf
|
@csrf
|
||||||
|
|
||||||
@include('admin.CityMaster._form', ['isEdit' => 0, 'isInfo' => 0])
|
@include('admin.CityMaster._form', ['isEdit' => 0, 'isInfo' => 0])
|
||||||
<div class="mt-3">
|
|
||||||
<button type="submit" class="btn btn-primary" onclick="return confirm('登録してよろしいですか?');">登録</button>
|
<div class="d-flex flex-column flex-md-row align-items-md-center gap-3 mt-4">
|
||||||
<a href="{{ route('city') }}" class="btn btn-secondary">戻る</a>
|
<button type="submit" class="btn btn-lg btn-default mr-2 register">{{ __('登録') }}</button>
|
||||||
|
<a href="{{ route('city') }}" class="btn btn-lg btn-default">{{ __('戻る') }}</a>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
|
@push('styles')
|
||||||
|
<style>
|
||||||
|
.city-form .form-group {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 1.5rem;
|
||||||
|
margin-bottom: 1.5rem;
|
||||||
|
}
|
||||||
|
.city-form .form-group .form-label {
|
||||||
|
flex: 0 0 180px;
|
||||||
|
margin-bottom: 0;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
.city-form .form-group .form-control {
|
||||||
|
flex: 1 1 auto;
|
||||||
|
}
|
||||||
|
@media (max-width: 767.98px) {
|
||||||
|
.city-form .form-group {
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: stretch;
|
||||||
|
}
|
||||||
|
.city-form .form-group .form-label {
|
||||||
|
flex: none;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
@endpush
|
||||||
|
|
||||||
|
@push('scripts')
|
||||||
|
<script>
|
||||||
|
(function ($) {
|
||||||
|
$(function () {
|
||||||
|
var validationErrors = @json($errorMessages);
|
||||||
|
if (validationErrors.length) {
|
||||||
|
var message = validationErrors.join('\n');
|
||||||
|
if ($.alert) {
|
||||||
|
$.alert({ title: 'エラー', content: message });
|
||||||
|
} else {
|
||||||
|
window.alert(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$('.register').off('click.cityConfirm').on('click.cityConfirm', function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
const formId = this.getAttribute('form');
|
||||||
|
const $form = formId ? $('#' + formId) : $('#city-form');
|
||||||
|
if (!$form.length) { return; }
|
||||||
|
|
||||||
|
const submit = function () {
|
||||||
|
if (typeof $form[0].requestSubmit === 'function') {
|
||||||
|
$form[0].requestSubmit();
|
||||||
|
} else {
|
||||||
|
$form.trigger('submit');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
if ($.confirm) {
|
||||||
|
$.confirm({
|
||||||
|
title: '確認ダイアログ',
|
||||||
|
content: '登録してよろしいですか? はい/いいえ',
|
||||||
|
buttons: {
|
||||||
|
ok: { text: 'はい', btnClass: 'btn-primary', action: submit },
|
||||||
|
いいえ: function () {}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else if (window.confirm('登録してよろしいですか?')) {
|
||||||
|
submit();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
})(window.jQuery);
|
||||||
|
</script>
|
||||||
|
@endpush
|
||||||
@ -30,8 +30,8 @@
|
|||||||
])
|
])
|
||||||
|
|
||||||
<div class="mt-3">
|
<div class="mt-3">
|
||||||
<button type="submit" class="btn btn-primary">更新</button>
|
<button type="button" class="btn btn-default register">登録</button>
|
||||||
<a href="{{ route('city') }}" class="btn btn-secondary">戻る</a>
|
<a href="{{ route('city') }}" class="btn btn-default">戻る</a>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
@ -39,3 +39,36 @@
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
|
@push('scripts')
|
||||||
|
<script>
|
||||||
|
(function ($) {
|
||||||
|
$(function () {
|
||||||
|
var $form = $('form[action="{{ route('city_edit', ['id' => $city->city_id]) }}"]');
|
||||||
|
$('.register').off('click.cityConfirm').on('click.cityConfirm', function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
if (!$form.length) { return; }
|
||||||
|
var submit = function () {
|
||||||
|
if (typeof $form[0].requestSubmit === 'function') {
|
||||||
|
$form[0].requestSubmit();
|
||||||
|
} else {
|
||||||
|
$form.trigger('submit');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
if ($.confirm) {
|
||||||
|
$.confirm({
|
||||||
|
title: '確認ダイアログ',
|
||||||
|
content: '登録してよろしいですか? はい/いいえ',
|
||||||
|
buttons: {
|
||||||
|
ok: { text: 'はい', btnClass: 'btn-primary', action: submit },
|
||||||
|
いいえ: function () {}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else if (window.confirm('登録してよろしいですか?')) {
|
||||||
|
submit();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
})(window.jQuery);
|
||||||
|
</script>
|
||||||
|
@endpush
|
||||||
|
|||||||
@ -31,38 +31,50 @@
|
|||||||
<!-- Main content -->
|
<!-- Main content -->
|
||||||
<section class="content">
|
<section class="content">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
|
<form id="list-form" method="GET" action="{{ route('city') }}">
|
||||||
|
<input type="hidden" name="sort" value="{{ $sort }}">
|
||||||
|
<input type="hidden" name="sort_type" value="{{ $sort_type }}">
|
||||||
|
|
||||||
<!-- Action Buttons -->
|
</form>
|
||||||
<div class="mb-3">
|
<div class="d-flex flex-column flex-md-row align-items-md-center justify-content-between mb-3 gap-2">
|
||||||
<a href="{{ route('city_add') }}" class="btn btn-sm btn-primary">新規</a>
|
<div>
|
||||||
<button type="submit" form="deleteForm" class="btn btn-sm btn-danger"
|
<a href="{{ route('city_add') }}" class="btn btn-sm btn-default">新規</a>
|
||||||
onclick="return confirm('選択した市区を削除しますか?');">削除</button>
|
<button type="button" id="delete" class="btn btn-sm btn-default">削除</button>
|
||||||
|
</div>
|
||||||
|
@if ($list->count() > 0)
|
||||||
|
<div class="mt-2 mt-md-0 ms-md-3">
|
||||||
|
{{ $list->appends([
|
||||||
|
'sort' => $sort,
|
||||||
|
'sort_type' => $sort_type,
|
||||||
|
] + request()->except('page'))->links('pagination::bootstrap-4') }}
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@if ($list->count() > 0)
|
@if ($list->count() > 0)
|
||||||
<form id="deleteForm" method="POST" action="{{ route('city_delete') }}">
|
<form id="form_delete" method="POST" action="{{ route('city_delete') }}">
|
||||||
@csrf
|
@csrf
|
||||||
<div class="table-responsive ">
|
<div class="table-responsive">
|
||||||
<table class="table table-bordered table-hover" >
|
<table class="table table-bordered table-hover">
|
||||||
<thead class="thead-light ">
|
<thead class="thead-light">
|
||||||
<tr>
|
<tr>
|
||||||
<th><input type="checkbox"
|
<th><input type="checkbox" class="js-check-all"></th>
|
||||||
onclick="$('input[name*=\'pk\']').prop('checked', this.checked);"></th>
|
<th class="sorting{{ $sort === 'city_id' ? ($sort_type === 'asc' ? '_asc' : '_desc') : '' }}"
|
||||||
<th>
|
sort="city_id">
|
||||||
<a href="{{ route('city', array_merge(request()->all(), ['sort' => 'city_id', 'sort_type' => $sort === 'city_id' && $sort_type === 'asc' ? 'desc' : 'asc'])) }}">
|
市区ID
|
||||||
市区ID
|
|
||||||
@if($sort === 'city_id')
|
@if($sort === 'city_id')
|
||||||
<i class="fa fa-sort-{{ $sort_type }}"></i>
|
<i class="fa fa-arrow-up ms-1" style="font-size: 0.7em; color: {{ $sort && $sort_type ? 'black' : '#ccc' }}"></i>
|
||||||
@endif
|
<i class="fa fa-arrow-down ms-1" style="font-size: 0.7em; color: {{ $sort && !$sort_type ? 'black' : '#ccc' }}"></i>
|
||||||
</a>
|
@endif
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th class="sorting{{ $sort === 'city_name' ? ($sort_type === 'asc' ? '_asc' : '_desc') : '' }}"
|
||||||
<a href="{{ route('city', array_merge(request()->all(), ['sort' => 'city_name', 'sort_type' => $sort === 'city_name' && $sort_type === 'asc' ? 'desc' : 'asc'])) }}">
|
sort="city_name">
|
||||||
市区名
|
市区名
|
||||||
@if($sort === 'city_name')
|
@if($sort === 'city_name')
|
||||||
<i class="fa fa-sort-{{ $sort_type }}"></i>
|
<i class="fa fa-arrow-up ms-1" style="font-size: 0.7em; color: {{ $sort && $sort_type ? 'black' : '#ccc' }}"></i>
|
||||||
@endif
|
<i class="fa fa-arrow-down ms-1" style="font-size: 0.7em; color: {{ $sort && !$sort_type ? 'black' : '#ccc' }}"></i>
|
||||||
</a>
|
@endif
|
||||||
</th>
|
</th>
|
||||||
<th>印字レイアウトファイル</th>
|
<th>印字レイアウトファイル</th>
|
||||||
<th>顧客M入力不要フィールドID</th>
|
<th>顧客M入力不要フィールドID</th>
|
||||||
@ -72,9 +84,10 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
@foreach ($list as $city)
|
@foreach ($list as $city)
|
||||||
<tr>
|
<tr>
|
||||||
<td style="background: #faebd7; width:100px; padding-right:4px; padding-left:4px;">
|
<td style="background: #faebd7; width: 110px; padding: 0 4px;">
|
||||||
<input type="checkbox" name="pk[]" value="{{ $city->city_id }}">
|
<input type="checkbox" name="pk[]" value="{{ $city->city_id }}">
|
||||||
<a href="{{ route('city_edit', ['id' => $city->city_id]) }}" class="btn btn-sm btn-default" style="margin-left:4px;">編集</a>
|
<a href="{{ route('city_edit', ['id' => $city->city_id]) }}"
|
||||||
|
class="btn btn-sm btn-default ms-1">編集</a>
|
||||||
</td>
|
</td>
|
||||||
<td>{{ $city->city_id }}</td>
|
<td>{{ $city->city_id }}</td>
|
||||||
<td>{{ $city->city_name }}</td>
|
<td>{{ $city->city_name }}</td>
|
||||||
@ -87,13 +100,56 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
<div class="mt-3">
|
|
||||||
{{ $list->appends(request()->except('page'))->links('pagination::bootstrap-4') }}
|
|
||||||
</div>
|
|
||||||
@else
|
@else
|
||||||
<div class="alert alert-info mt-4">表示する市区データがありません。</div>
|
<div class="alert alert-info mt-4">表示する市区データがありません。</div>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
|
@push('scripts')
|
||||||
|
<script>
|
||||||
|
(function ($) {
|
||||||
|
$(function () {
|
||||||
|
var $form = $('#form_delete');
|
||||||
|
if (!$form.length) { return; }
|
||||||
|
|
||||||
|
$(document)
|
||||||
|
.off('change.cityCheckAll', '.js-check-all')
|
||||||
|
.on('change.cityCheckAll', '.js-check-all', function () {
|
||||||
|
var checked = $(this).prop('checked');
|
||||||
|
$form.find('input[name="pk[]"]').prop('checked', checked);
|
||||||
|
});
|
||||||
|
|
||||||
|
$(document)
|
||||||
|
.off('click.cityDeleteGuard', '#delete')
|
||||||
|
.on('click.cityDeleteGuard', '#delete', function (event) {
|
||||||
|
if (!$form.find('input[name="pk[]"]:checked').length) {
|
||||||
|
event.preventDefault();
|
||||||
|
event.stopImmediatePropagation();
|
||||||
|
window.alert('削除対象を選択してください。');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
})(window.jQuery);
|
||||||
|
|
||||||
|
$(document).on('click', 'th[sort]', function () {
|
||||||
|
const $form = $('#list-form');
|
||||||
|
const sortKey = $(this).attr('sort');
|
||||||
|
const currentSort = $form.find('input[name="sort"]').val();
|
||||||
|
const currentType = $form.find('input[name="sort_type"]').val();
|
||||||
|
|
||||||
|
if (currentSort === sortKey) {
|
||||||
|
// 切换方向
|
||||||
|
const newType = currentType === 'asc' ? 'desc' : 'asc';
|
||||||
|
$form.find('input[name="sort_type"]').val(newType);
|
||||||
|
} else {
|
||||||
|
// 新字段,默认升序
|
||||||
|
$form.find('input[name="sort"]').val(sortKey);
|
||||||
|
$form.find('input[name="sort_type"]').val('asc');
|
||||||
|
}
|
||||||
|
|
||||||
|
$form.submit();
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
@endpush
|
||||||
Loading…
Reference in New Issue
Block a user