Merge pull request 'main_kin' (#10) from main_kin into main
Reviewed-on: #10
This commit is contained in:
commit
d5c5036cd5
@ -1,18 +0,0 @@
|
|||||||
name: Deploy main
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: ["main"]
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: deploy-${{ github.ref }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
deploy:
|
|
||||||
runs-on: ["native"]
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- name: Deploy main to server
|
|
||||||
run: /usr/local/bin/deploy_krgm.sh
|
|
||||||
191
app/Http/Controllers/Admin/ContractAllowableCityController.php
Normal file
191
app/Http/Controllers/Admin/ContractAllowableCityController.php
Normal file
@ -0,0 +1,191 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Admin;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use App\Models\ContractAllowableCity;
|
||||||
|
use App\Models\City;
|
||||||
|
use App\Models\Park;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
use Symfony\Component\HttpFoundation\StreamedResponse;
|
||||||
|
|
||||||
|
class ContractAllowableCityController extends Controller
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 一覧表示
|
||||||
|
*/
|
||||||
|
public function list(Request $request)
|
||||||
|
{
|
||||||
|
$inputs = $request->all();
|
||||||
|
$inputs['isMethodPost'] = $request->isMethod('post');
|
||||||
|
|
||||||
|
// 解除処理
|
||||||
|
if ($request->isMethod('post') && $request->input('action') === 'unlink') {
|
||||||
|
$query = ContractAllowableCity::query();
|
||||||
|
|
||||||
|
if ($request->filled('contract_allowable_city_id')) {
|
||||||
|
$query->where('contract_allowable_city_id', $request->contract_allowable_city_id);
|
||||||
|
}
|
||||||
|
if ($request->filled('city_id')) {
|
||||||
|
$query->where('city_id', $request->city_id);
|
||||||
|
}
|
||||||
|
if ($request->filled('contract_allowable_city_name')) {
|
||||||
|
$query->where('contract_allowable_city_name', 'like', '%' . $request->contract_allowable_city_name . '%');
|
||||||
|
}
|
||||||
|
if ($request->filled('park_id')) {
|
||||||
|
$query->where('park_id', $request->park_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
$records = $query->get();
|
||||||
|
foreach ($records as $record) {
|
||||||
|
$record->delete();
|
||||||
|
}
|
||||||
|
|
||||||
|
return redirect()->route('contract_allowable_cities')->with('success', '解除しました');
|
||||||
|
}
|
||||||
|
|
||||||
|
// 通常の絞り込み処理
|
||||||
|
$list = ContractAllowableCity::search($inputs);
|
||||||
|
|
||||||
|
return view('admin.contract_allowable_cities.list', [
|
||||||
|
'list' => $list,
|
||||||
|
'inputs' => $inputs,
|
||||||
|
'sort' => $inputs['sort'] ?? '',
|
||||||
|
'sort_type' => $inputs['sort_type'] ?? '',
|
||||||
|
'cityList' => City::getList(),
|
||||||
|
'parkList' => Park::getList(),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新規登録
|
||||||
|
*/
|
||||||
|
public function add(Request $request)
|
||||||
|
{
|
||||||
|
if ($request->isMethod('post')) {
|
||||||
|
$request->validate([
|
||||||
|
'city_id' => 'required|integer',
|
||||||
|
'contract_allowable_city_name' => 'required|string|max:20',
|
||||||
|
'park_id' => 'required|integer',
|
||||||
|
'same_district_flag' => 'required|integer',
|
||||||
|
]);
|
||||||
|
|
||||||
|
$data = $request->all();
|
||||||
|
$data['operator_id'] = Auth::user()->ope_id;
|
||||||
|
|
||||||
|
ContractAllowableCity::create($data);
|
||||||
|
|
||||||
|
return redirect()->route('contract_allowable_cities')->with('success', '登録しました');
|
||||||
|
}
|
||||||
|
|
||||||
|
return view('admin.contract_allowable_cities.add', [
|
||||||
|
'record' => null,
|
||||||
|
'cityList' => City::getList(),
|
||||||
|
'parkList' => Park::getList(),
|
||||||
|
'contractAllowableCityList' => ContractAllowableCity::getList(),
|
||||||
|
'mode' => 'add'
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 編集
|
||||||
|
*/
|
||||||
|
public function edit(Request $request, $id)
|
||||||
|
{
|
||||||
|
$record = ContractAllowableCity::getByPk($id);
|
||||||
|
if (!$record) {
|
||||||
|
return redirect()->route('contract_allowable_cities')->with('error', 'データが存在しません');
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($request->isMethod('post')) {
|
||||||
|
$request->validate([
|
||||||
|
'city_id' => 'required|integer',
|
||||||
|
'contract_allowable_city_name' => 'required|string|max:20',
|
||||||
|
'park_id' => 'required|integer',
|
||||||
|
'same_district_flag' => 'required|integer',
|
||||||
|
]);
|
||||||
|
|
||||||
|
$record->fill($request->all());
|
||||||
|
$record->operator_id = Auth::user()->ope_id;
|
||||||
|
$record->save();
|
||||||
|
|
||||||
|
return redirect()->route('contract_allowable_cities')->with('success', '更新しました');
|
||||||
|
}
|
||||||
|
|
||||||
|
return view('admin.contract_allowable_cities.edit', [
|
||||||
|
'record' => $record,
|
||||||
|
'cities' => City::getList(),
|
||||||
|
'parks' => Park::getList(),
|
||||||
|
'mode' => 'edit'
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 詳細参照(表示のみ)
|
||||||
|
*/
|
||||||
|
public function info($id)
|
||||||
|
{
|
||||||
|
$record = ContractAllowableCity::getByPk($id);
|
||||||
|
if (!$record) {
|
||||||
|
return redirect()->route('contract_allowable_cities')->with('error', 'データが存在しません');
|
||||||
|
}
|
||||||
|
|
||||||
|
return view('admin.contract_allowable_cities.edit', [
|
||||||
|
'record' => $record,
|
||||||
|
'cityList' => City::getList(),
|
||||||
|
'parkList' => Park::getList(),
|
||||||
|
'mode' => 'info'
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 一括削除
|
||||||
|
*/
|
||||||
|
public function delete(Request $request)
|
||||||
|
{
|
||||||
|
if ($request->has('id')) {
|
||||||
|
ContractAllowableCity::deleteByPk($request->id);
|
||||||
|
return redirect()->route('contract_allowable_cities')->with('success', '削除しました');
|
||||||
|
}
|
||||||
|
|
||||||
|
return redirect()->route('contract_allowable_cities')->with('error', '削除対象が見つかりません');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CSVエクスポート
|
||||||
|
*/
|
||||||
|
public function export(Request $request)
|
||||||
|
{
|
||||||
|
$filename = 'contract_allowable_cities_' . now()->format('Ymd_His') . '.csv';
|
||||||
|
|
||||||
|
$list = ContractAllowableCity::search($request->all());
|
||||||
|
|
||||||
|
$headers = [
|
||||||
|
'Content-Type' => 'text/csv',
|
||||||
|
'Content-Disposition' => "attachment; filename=\"$filename\"",
|
||||||
|
];
|
||||||
|
|
||||||
|
return new StreamedResponse(function () use ($list) {
|
||||||
|
$handle = fopen('php://output', 'w');
|
||||||
|
|
||||||
|
// ヘッダー
|
||||||
|
fputcsv($handle, ['契約許容市区ID', '市区ID', '許容市区名', '駐輪場ID', '隣接区フラグ']);
|
||||||
|
|
||||||
|
foreach ($list as $item) {
|
||||||
|
fputcsv($handle, [
|
||||||
|
$item->contract_allowable_city_id,
|
||||||
|
$item->city_id,
|
||||||
|
$item->contract_allowable_city_name,
|
||||||
|
$item->park_id,
|
||||||
|
$item->same_district_flag == 0 ? '隣接市' : 'その他'
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
fclose($handle);
|
||||||
|
}, 200, $headers);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
142
app/Http/Controllers/Admin/DeviceController.php
Normal file
142
app/Http/Controllers/Admin/DeviceController.php
Normal file
@ -0,0 +1,142 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Admin;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use App\Models\Device;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
use Illuminate\Support\Facades\Validator;
|
||||||
|
use Symfony\Component\HttpFoundation\StreamedResponse;
|
||||||
|
|
||||||
|
class DeviceController extends Controller
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 一覧: /device
|
||||||
|
*/
|
||||||
|
|
||||||
|
public function list(Request $request)
|
||||||
|
{
|
||||||
|
$perPage = \App\Utils::item_per_page ?? 20;
|
||||||
|
|
||||||
|
$list = Device::with('park')
|
||||||
|
->orderBy('device_id', 'desc')
|
||||||
|
->paginate($perPage);
|
||||||
|
|
||||||
|
return view('admin.devices.list', [
|
||||||
|
'list' => $list,
|
||||||
|
'sort' => 'device_id',
|
||||||
|
'sort_type' => 'desc',
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新規追加: /device/add
|
||||||
|
*/
|
||||||
|
public function add(Request $request)
|
||||||
|
{
|
||||||
|
if ($request->isMethod('post')) {
|
||||||
|
$v = Validator::make($request->all(), $this->rules());
|
||||||
|
if ($v->fails()) return back()->withErrors($v)->withInput();
|
||||||
|
|
||||||
|
DB::transaction(function () use ($request) {
|
||||||
|
Device::create($request->only([
|
||||||
|
'park_id','device_type','device_subject','device_identifier',
|
||||||
|
'device_work','device_workstart','device_replace','device_remarks','operator_id',
|
||||||
|
]));
|
||||||
|
});
|
||||||
|
|
||||||
|
return redirect()->route('devices')->with('success', 'デバイスを登録しました。');
|
||||||
|
}
|
||||||
|
|
||||||
|
return view('admin.devices.add', [
|
||||||
|
'device' => new Device(),
|
||||||
|
'isInfo' => false,
|
||||||
|
'isEdit' => false,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 編集: /device/edit/{id}
|
||||||
|
*/
|
||||||
|
public function edit(Request $request, int $id)
|
||||||
|
{
|
||||||
|
$device = Device::findOrFail($id);
|
||||||
|
|
||||||
|
if ($request->isMethod('post')) {
|
||||||
|
$v = Validator::make($request->all(), $this->rules($id));
|
||||||
|
if ($v->fails()) return back()->withErrors($v)->withInput();
|
||||||
|
|
||||||
|
DB::transaction(function () use ($request, $device) {
|
||||||
|
$device->update($request->only([
|
||||||
|
'park_id','device_type','device_subject','device_identifier',
|
||||||
|
'device_work','device_workstart','device_replace','device_remarks','operator_id',
|
||||||
|
]));
|
||||||
|
});
|
||||||
|
|
||||||
|
return redirect()->route('devices')->with('success', 'デバイスを更新しました。');
|
||||||
|
}
|
||||||
|
|
||||||
|
return view('admin.devices.edit', [
|
||||||
|
'device' => $device,
|
||||||
|
'isInfo' => false,
|
||||||
|
'isEdit' => true,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 詳細: /device/info/{id}
|
||||||
|
*/
|
||||||
|
public function info(int $id)
|
||||||
|
{
|
||||||
|
$device = Device::with('park')->findOrFail($id);
|
||||||
|
|
||||||
|
return view('admin.devices.info', [
|
||||||
|
'device' => $device,
|
||||||
|
'isInfo' => true,
|
||||||
|
'isEdit' => false,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 削除: /device/delete
|
||||||
|
*/
|
||||||
|
public function delete(Request $request)
|
||||||
|
{
|
||||||
|
$ids = $request->input('ids');
|
||||||
|
$id = $request->input('id');
|
||||||
|
|
||||||
|
if ($id) $ids = [$id];
|
||||||
|
if (!is_array($ids) || empty($ids)) {
|
||||||
|
return back()->with('error', '削除対象が指定されていません。');
|
||||||
|
}
|
||||||
|
|
||||||
|
DB::transaction(function () use ($ids) {
|
||||||
|
Device::whereIn('device_id', $ids)->delete();
|
||||||
|
});
|
||||||
|
|
||||||
|
return redirect()->route('devices')->with('success', 'デバイスを削除しました。');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** バリデーションルール */
|
||||||
|
private function rules(?int $id = null): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'park_id' => ['nullable','integer'],
|
||||||
|
'device_type' => ['required','string','max:255'],
|
||||||
|
'device_subject' => ['required','string','max:255'],
|
||||||
|
'device_identifier' => ['nullable','string','max:255'],
|
||||||
|
'device_work' => ['nullable','string','max:255'],
|
||||||
|
'device_workstart' => ['nullable','date'],
|
||||||
|
'device_replace' => ['nullable','date'],
|
||||||
|
'device_remarks' => ['nullable','string','max:255'],
|
||||||
|
'operator_id' => ['nullable','integer'],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
91
app/Http/Controllers/Admin/JurisdictionParkingController.php
Normal file
91
app/Http/Controllers/Admin/JurisdictionParkingController.php
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Admin;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use App\Models\JurisdictionParking;
|
||||||
|
use App\Models\Park;
|
||||||
|
use App\Models\Ope;
|
||||||
|
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'));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function add(Request $request)
|
||||||
|
{
|
||||||
|
if ($request->isMethod('post')) {
|
||||||
|
$validated = $request->validate([
|
||||||
|
'jurisdiction_parking_name' => 'required|string|max:255',
|
||||||
|
'operator_id' => 'nullable|integer',
|
||||||
|
'park_id' => 'nullable|integer',
|
||||||
|
]);
|
||||||
|
|
||||||
|
JurisdictionParking::create($validated);
|
||||||
|
return redirect()->route('jurisdiction_parkings')->with('success', '登録しました');
|
||||||
|
}
|
||||||
|
|
||||||
|
$parks = Park::pluck('park_name', 'park_id');
|
||||||
|
$operators = Ope::pluck('ope_name', 'ope_id');
|
||||||
|
|
||||||
|
return view('admin.jurisdiction_parkings.add', compact('parks', 'operators'));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function edit(Request $request, $jurisdiction_parking_id)
|
||||||
|
{
|
||||||
|
$record = JurisdictionParking::findOrFail($jurisdiction_parking_id);
|
||||||
|
|
||||||
|
if ($request->isMethod('post')) {
|
||||||
|
$validated = $request->validate([
|
||||||
|
'jurisdiction_parking_name' => 'required|string|max:255',
|
||||||
|
'ope_id' => 'nullable|integer',
|
||||||
|
'park_id' => 'nullable|integer',
|
||||||
|
'operator_id' => 'nullable|integer',
|
||||||
|
]);
|
||||||
|
|
||||||
|
$record->update($validated);
|
||||||
|
return redirect()->route('jurisdiction_parkings')->with('success', '更新しました');
|
||||||
|
}
|
||||||
|
|
||||||
|
$parks = Park::pluck('park_name', 'park_id');
|
||||||
|
$opes = Ope::pluck('ope_name', 'ope_id');
|
||||||
|
|
||||||
|
return view('admin.jurisdiction_parkings.edit', compact('record', 'parks', 'opes'));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function delete(Request $request)
|
||||||
|
{
|
||||||
|
if ($request->has('pk')) {
|
||||||
|
JurisdictionParking::destroy($request->input('pk'));
|
||||||
|
return redirect()->route('jurisdiction_parkings')->with('success', '削除しました');
|
||||||
|
}
|
||||||
|
|
||||||
|
return redirect()->route('jurisdiction_parkings')->with('error', '削除対象が見つかりません');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function info(Request $request, $jurisdiction_parking_id)
|
||||||
|
{
|
||||||
|
$record = JurisdictionParking::findOrFail($jurisdiction_parking_id);
|
||||||
|
return view('admin.jurisdiction_parkings.info', compact('record'));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function import(Request $request)
|
||||||
|
{
|
||||||
|
// CSVインポート処理仮
|
||||||
|
return redirect()->route('jurisdiction_parkings')->with('success', 'CSVインポート処理(未実装)');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function export(Request $request)
|
||||||
|
{
|
||||||
|
// CSVエクスポート処理仮
|
||||||
|
return response()->streamDownload(function () {
|
||||||
|
echo 'CSVエクスポートデータ(未実装)';
|
||||||
|
}, 'jurisdiction_parkings.csv');
|
||||||
|
}
|
||||||
|
}
|
||||||
233
app/Http/Controllers/Admin/ManagerController.php
Normal file
233
app/Http/Controllers/Admin/ManagerController.php
Normal file
@ -0,0 +1,233 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Admin;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Models\Manager;
|
||||||
|
use App\Models\Park;
|
||||||
|
use App\Models\Device;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
use Symfony\Component\HttpFoundation\StreamedResponse;
|
||||||
|
|
||||||
|
class ManagerController extends Controller
|
||||||
|
{
|
||||||
|
/** 一覧 */
|
||||||
|
public function list(Request $request)
|
||||||
|
{
|
||||||
|
$sortable = [
|
||||||
|
'manager_id','manager_name','manager_parkid','manager_tel',
|
||||||
|
'manager_alert1','manager_alert2','manager_quit_flag'
|
||||||
|
];
|
||||||
|
$sort = $request->input('sort', 'manager_id');
|
||||||
|
$sort_type = $request->input('sort_type', 'asc');
|
||||||
|
if (!in_array($sort, $sortable)) $sort = 'manager_id';
|
||||||
|
if (!in_array(strtolower($sort_type), ['asc','desc'])) $sort_type = 'asc';
|
||||||
|
|
||||||
|
$list = Manager::with(['park','device1','device2'])
|
||||||
|
->orderBy($sort, $sort_type)
|
||||||
|
->paginate(20);
|
||||||
|
|
||||||
|
return view('admin.managers.list', compact('list','sort','sort_type'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 新規(GET:画面表示 / POST:登録) */
|
||||||
|
public function add(Request $request)
|
||||||
|
{
|
||||||
|
if ($request->isMethod('post')) {
|
||||||
|
$data = $this->validated($request);
|
||||||
|
|
||||||
|
$manager = Manager::create($data);
|
||||||
|
return redirect()
|
||||||
|
->route('managers_info', ['manager_id' => $manager->manager_id])
|
||||||
|
->with('success', '登録しました。');
|
||||||
|
}
|
||||||
|
|
||||||
|
// 画面に渡す初期値
|
||||||
|
$view = $this->viewVars();
|
||||||
|
return view('admin.managers.add', $view);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 編集(GET:画面表示 / POST:更新) */
|
||||||
|
public function edit(Request $request, $manager_id)
|
||||||
|
{
|
||||||
|
$manager = Manager::findOrFail($manager_id);
|
||||||
|
|
||||||
|
if ($request->isMethod('post')) {
|
||||||
|
$data = $this->validated($request);
|
||||||
|
$manager->fill($data)->save();
|
||||||
|
|
||||||
|
return redirect()
|
||||||
|
->route('managers_info', ['manager_id' => $manager->manager_id])
|
||||||
|
->with('success', '更新しました。');
|
||||||
|
}
|
||||||
|
|
||||||
|
$view = $this->viewVars($manager);
|
||||||
|
return view('admin.managers.edit', $view);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 詳細(閲覧) */
|
||||||
|
public function info($manager_id)
|
||||||
|
{
|
||||||
|
$manager = Manager::with(['park','device1','device2'])->findOrFail($manager_id);
|
||||||
|
$view = $this->viewVars($manager);
|
||||||
|
return view('admin.managers.info', $view);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 一括削除(一覧・詳細・編集共通で pk[] を受ける) */
|
||||||
|
public function delete(Request $request)
|
||||||
|
{
|
||||||
|
$ids = (array) $request->input('pk', []);
|
||||||
|
if (!$ids) return back()->with('error', '削除対象が選択されていません。');
|
||||||
|
|
||||||
|
DB::transaction(fn() => Manager::whereIn('manager_id', $ids)->delete());
|
||||||
|
|
||||||
|
return back()->with('success', '削除しました。');
|
||||||
|
}
|
||||||
|
|
||||||
|
/** CSV出力 */
|
||||||
|
public function export(): StreamedResponse
|
||||||
|
{
|
||||||
|
$headers = [
|
||||||
|
'Content-Type' => 'text/csv; charset=UTF-8',
|
||||||
|
'Content-Disposition' => 'attachment; filename=managers.csv',
|
||||||
|
];
|
||||||
|
|
||||||
|
$columns = [
|
||||||
|
'manager_id','manager_name','manager_type','manager_parkid',
|
||||||
|
'manager_device1','manager_device2','manager_mail','manager_tel',
|
||||||
|
'manager_alert1','manager_alert2','manager_quit_flag','manager_quitday'
|
||||||
|
];
|
||||||
|
|
||||||
|
return response()->stream(function () use ($columns) {
|
||||||
|
$out = fopen('php://output', 'w');
|
||||||
|
fwrite($out, "\xEF\xBB\xBF"); // BOM
|
||||||
|
fputcsv($out, $columns);
|
||||||
|
|
||||||
|
Manager::chunk(500, function ($rows) use ($out, $columns) {
|
||||||
|
foreach ($rows as $r) {
|
||||||
|
fputcsv($out, array_map(fn($c) => data_get($r, $c), $columns));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
fclose($out);
|
||||||
|
}, 200, $headers);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** CSVインポート(input name="file") */
|
||||||
|
public function import(Request $request)
|
||||||
|
{
|
||||||
|
if (!$request->hasFile('file')) {
|
||||||
|
return back()->with('error', 'CSVファイルを選択してください。');
|
||||||
|
}
|
||||||
|
$fp = fopen($request->file('file')->getRealPath(), 'r');
|
||||||
|
if (!$fp) return back()->with('error', 'CSVを読み込めませんでした。');
|
||||||
|
|
||||||
|
$header = fgetcsv($fp);
|
||||||
|
if (!$header) { fclose($fp); return back()->with('error', 'ヘッダ行が読み取れません。'); }
|
||||||
|
|
||||||
|
$required = [
|
||||||
|
'manager_id','manager_name','manager_type','manager_parkid',
|
||||||
|
'manager_device1','manager_device2','manager_mail','manager_tel',
|
||||||
|
'manager_alert1','manager_alert2','manager_quit_flag','manager_quitday'
|
||||||
|
];
|
||||||
|
foreach ($required as $c) {
|
||||||
|
if (!in_array($c, $header)) { fclose($fp); return back()->with('error', "CSVに {$c} がありません。"); }
|
||||||
|
}
|
||||||
|
|
||||||
|
DB::beginTransaction();
|
||||||
|
try {
|
||||||
|
while (($row = fgetcsv($fp)) !== false) {
|
||||||
|
$data = array_combine($header, $row); if (!$data) continue;
|
||||||
|
|
||||||
|
Manager::updateOrCreate(
|
||||||
|
['manager_id' => $data['manager_id']],
|
||||||
|
[
|
||||||
|
'manager_name' => $data['manager_name'] ?? null,
|
||||||
|
'manager_type' => $data['manager_type'] ?? null,
|
||||||
|
'manager_parkid' => $data['manager_parkid'] ?: null,
|
||||||
|
'manager_device1' => $data['manager_device1'] ?: null,
|
||||||
|
'manager_device2' => $data['manager_device2'] ?: null,
|
||||||
|
'manager_mail' => $data['manager_mail'] ?? null,
|
||||||
|
'manager_tel' => $data['manager_tel'] ?? null,
|
||||||
|
'manager_alert1' => (int)($data['manager_alert1'] ?? 0),
|
||||||
|
'manager_alert2' => (int)($data['manager_alert2'] ?? 0),
|
||||||
|
'manager_quit_flag' => (int)($data['manager_quit_flag'] ?? 0),
|
||||||
|
'manager_quitday' => $data['manager_quitday'] ?: null,
|
||||||
|
]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
fclose($fp);
|
||||||
|
DB::commit();
|
||||||
|
return back()->with('success', 'インポートが完了しました。');
|
||||||
|
} catch (\Throwable $e) {
|
||||||
|
if (is_resource($fp)) fclose($fp);
|
||||||
|
DB::rollBack();
|
||||||
|
return back()->with('error', 'インポートに失敗しました:'.$e->getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ======================== private helpers ======================== */
|
||||||
|
|
||||||
|
/** バリデーション */
|
||||||
|
private function validated(Request $request): array
|
||||||
|
{
|
||||||
|
return $request->validate([
|
||||||
|
'manager_name' => ['required','string','max:255'],
|
||||||
|
'manager_type' => ['nullable','string','max:255'],
|
||||||
|
'manager_parkid' => ['nullable','integer','exists:park,park_id'], // テーブル名に合わせて
|
||||||
|
'manager_device1' => ['nullable','integer','exists:device,device_id'],
|
||||||
|
'manager_device2' => ['nullable','integer','exists:device,device_id'],
|
||||||
|
'manager_mail' => ['nullable','email','max:255'],
|
||||||
|
'manager_tel' => ['nullable','string','max:255'],
|
||||||
|
'manager_alert1' => ['nullable','boolean'],
|
||||||
|
'manager_alert2' => ['nullable','boolean'],
|
||||||
|
'manager_quit_flag' => ['nullable','boolean'],
|
||||||
|
'manager_quitday' => ['nullable','date'],
|
||||||
|
], [], [
|
||||||
|
'manager_name' => '駐輪場管理者名',
|
||||||
|
'manager_type' => '種別',
|
||||||
|
'manager_parkid' => '所属駐輪場ID',
|
||||||
|
'manager_device1' => '管理デバイス1',
|
||||||
|
'manager_device2' => '管理デバイス2',
|
||||||
|
'manager_mail' => 'メールアドレス',
|
||||||
|
'manager_tel' => '電話番号',
|
||||||
|
'manager_alert1' => 'アラート1送信',
|
||||||
|
'manager_alert2' => 'アラート2送信',
|
||||||
|
'manager_quit_flag' => '退職フラグ',
|
||||||
|
'manager_quitday' => '退職日',
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 画面に渡す変数を作る(_form.blade.php が個別変数を参照するため) */
|
||||||
|
private function viewVars(?Manager $m = null): array
|
||||||
|
{
|
||||||
|
$parks = Park::orderBy('park_name')->pluck('park_name','park_id')->toArray();
|
||||||
|
$devices = Device::orderBy('device_subject')->pluck('device_subject','device_id')->toArray();
|
||||||
|
|
||||||
|
return [
|
||||||
|
// _form が参照する個別変数
|
||||||
|
'manager_id' => $m->manager_id ?? null,
|
||||||
|
'manager_name' => $m->manager_name ?? null,
|
||||||
|
'manager_type' => $m->manager_type ?? null,
|
||||||
|
'manager_parkid' => $m->manager_parkid ?? null,
|
||||||
|
'manager_device1' => $m->manager_device1 ?? null,
|
||||||
|
'manager_device2' => $m->manager_device2 ?? null,
|
||||||
|
'manager_mail' => $m->manager_mail ?? null,
|
||||||
|
'manager_tel' => $m->manager_tel ?? null,
|
||||||
|
'manager_alert1' => (int)($m->manager_alert1 ?? 0),
|
||||||
|
'manager_alert2' => (int)($m->manager_alert2 ?? 0),
|
||||||
|
'manager_quit_flag' => isset($m) ? (int)$m->manager_quit_flag : 0,
|
||||||
|
'manager_quitday' => isset($m) && $m->manager_quitday ? $m->manager_quitday->format('Y-m-d') : null,
|
||||||
|
|
||||||
|
// セレクトの候補
|
||||||
|
'parks' => $parks,
|
||||||
|
'devices' => $devices,
|
||||||
|
|
||||||
|
// _form で必要なフラグ(各ビューで上書きしてもOK)
|
||||||
|
'isEdit' => isset($m),
|
||||||
|
'isInfo' => false,
|
||||||
|
'record' => $m, // 互換用(あなた的 edit.blade.php で参照しているなら)
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
119
app/Http/Controllers/Admin/NeighborStationController.php
Normal file
119
app/Http/Controllers/Admin/NeighborStationController.php
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
<?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');
|
||||||
|
}
|
||||||
|
}
|
||||||
224
app/Http/Controllers/Admin/OpeController.php
Normal file
224
app/Http/Controllers/Admin/OpeController.php
Normal file
@ -0,0 +1,224 @@
|
|||||||
|
<?php
|
||||||
|
namespace App\Http\Controllers\Admin;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use App\Models\Ope;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
use Illuminate\Support\Facades\Validator;
|
||||||
|
use Symfony\Component\HttpFoundation\StreamedResponse;
|
||||||
|
|
||||||
|
class OpeController extends Controller
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 一覧
|
||||||
|
*/
|
||||||
|
public function list(Request $request)
|
||||||
|
{
|
||||||
|
$inputs = [
|
||||||
|
'isMethodPost' => $request->isMethod('post'),
|
||||||
|
'sort' => $request->input('sort', 'ope_id'),
|
||||||
|
'sort_type' => $request->input('sort_type', 'desc'),
|
||||||
|
'isExport' => false,
|
||||||
|
];
|
||||||
|
|
||||||
|
// Blade 側は $list / $sort / $sort_type を参照
|
||||||
|
$list = Ope::search($inputs);
|
||||||
|
$sort = $inputs['sort'];
|
||||||
|
$sort_type = $inputs['sort_type'];
|
||||||
|
|
||||||
|
|
||||||
|
return view('admin.opes.list', compact('list', 'sort', 'sort_type'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新規登録(GET 画面 / POST 保存)
|
||||||
|
*/
|
||||||
|
public function add(Request $request)
|
||||||
|
{
|
||||||
|
if ($request->isMethod('get')) {
|
||||||
|
// add.blade.php は include する _form が期待する変数名を使う
|
||||||
|
return view('admin.opes.add', [
|
||||||
|
'isEdit' => 0,
|
||||||
|
'isInfo' => 0,
|
||||||
|
// 初期値(存在しなくてもOKだが、Notice 防止のために入れておく)
|
||||||
|
'ope_id' => null,
|
||||||
|
'ope_name' => '',
|
||||||
|
'ope_type' => '',
|
||||||
|
'ope_mail' => '',
|
||||||
|
'ope_phone'=> '',
|
||||||
|
// 以下はフォームで参照される可能性のあるキーを空で用意
|
||||||
|
'ope_sendalart_que1' => 0, 'ope_sendalart_que2' => 0, 'ope_sendalart_que3' => 0,
|
||||||
|
'ope_sendalart_que4' => 0, 'ope_sendalart_que5' => 0, 'ope_sendalart_que6' => 0,
|
||||||
|
'ope_sendalart_que7' => 0, 'ope_sendalart_que8' => 0, 'ope_sendalart_que9' => 0,
|
||||||
|
'ope_sendalart_que10'=> 0, 'ope_sendalart_que11'=> 0, 'ope_sendalart_que12'=> 0,
|
||||||
|
'ope_sendalart_que13'=> 0,
|
||||||
|
'ope_auth1' => '', 'ope_auth2' => '', 'ope_auth3' => '', 'ope_auth4' => '',
|
||||||
|
'ope_quit_flag' => 0, 'ope_quitday' => '',
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$rules = [
|
||||||
|
'ope_name' => 'required|string|max:255',
|
||||||
|
'ope_type' => 'required|string|max:50',
|
||||||
|
'ope_mail' => 'nullable|email|max:255',
|
||||||
|
'ope_phone' => 'nullable|string|max:50',
|
||||||
|
];
|
||||||
|
$this->validate($request, $rules);
|
||||||
|
|
||||||
|
$ope = new Ope();
|
||||||
|
$ope->fill($request->only($ope->getFillable()));
|
||||||
|
$ope->save();
|
||||||
|
|
||||||
|
return redirect()->route('opes')->with('success', 'オペレータを登録しました。');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 編集(GET 画面 / POST 更新)
|
||||||
|
*/
|
||||||
|
public function edit($id, Request $request)
|
||||||
|
{
|
||||||
|
$ope = Ope::getByPk($id);
|
||||||
|
if (!$ope) abort(404);
|
||||||
|
|
||||||
|
if ($request->isMethod('get')) {
|
||||||
|
// edit.blade.php が参照する変数名に合わせて渡す
|
||||||
|
return view('admin.opes.edit', array_merge(
|
||||||
|
[
|
||||||
|
'isEdit' => 1,
|
||||||
|
'isInfo' => 0,
|
||||||
|
'ope_id' => $ope->ope_id,
|
||||||
|
],
|
||||||
|
$ope->toArray()
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
$rules = [
|
||||||
|
'ope_name' => 'required|string|max:255',
|
||||||
|
'ope_type' => 'required|string|max:50',
|
||||||
|
'ope_mail' => 'nullable|email|max:255',
|
||||||
|
'ope_phone' => 'nullable|string|max:50',
|
||||||
|
];
|
||||||
|
$this->validate($request, $rules);
|
||||||
|
|
||||||
|
$ope->fill($request->only($ope->getFillable()));
|
||||||
|
$ope->save();
|
||||||
|
|
||||||
|
return redirect()->route('opes')->with('success', 'オペレータを更新しました。');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 詳細
|
||||||
|
*/
|
||||||
|
public function info($id)
|
||||||
|
{
|
||||||
|
$ope = Ope::getByPk($id);
|
||||||
|
if (!$ope) abort(404);
|
||||||
|
|
||||||
|
// info.blade.php が参照する変数に合わせてセット
|
||||||
|
return view('admin.opes.info', array_merge(
|
||||||
|
[
|
||||||
|
'isEdit' => 0,
|
||||||
|
'isInfo' => 1,
|
||||||
|
'ope_id' => $ope->ope_id,
|
||||||
|
],
|
||||||
|
$ope->toArray()
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 削除(単体 / 複数)
|
||||||
|
*/
|
||||||
|
public function delete(Request $request)
|
||||||
|
{
|
||||||
|
$ids = [];
|
||||||
|
if ($request->filled('id')) {
|
||||||
|
$ids[] = (int) $request->input('id');
|
||||||
|
}
|
||||||
|
if ($request->filled('ids') && is_array($request->input('ids'))) {
|
||||||
|
$ids = array_merge($ids, array_map('intval', $request->input('ids')));
|
||||||
|
}
|
||||||
|
$ids = array_values(array_unique($ids));
|
||||||
|
|
||||||
|
if (!$ids) {
|
||||||
|
return back()->with('error', '削除対象が選択されていません。');
|
||||||
|
}
|
||||||
|
|
||||||
|
Ope::deleteByPk($ids);
|
||||||
|
|
||||||
|
return redirect()->route('opes')->with('success', '削除しました。');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CSVインポート
|
||||||
|
*/
|
||||||
|
public function import(Request $request)
|
||||||
|
{
|
||||||
|
$validator = Validator::make($request->all(), [
|
||||||
|
'file' => 'required|file|mimes:csv,txt|max:20480',
|
||||||
|
]);
|
||||||
|
if ($validator->fails()) {
|
||||||
|
return back()->withErrors($validator)->withInput();
|
||||||
|
}
|
||||||
|
|
||||||
|
$file = $request->file('file')->getRealPath();
|
||||||
|
$handle = fopen($file, 'r');
|
||||||
|
if (!$handle) return back()->with('error', 'CSVを読み取れません。');
|
||||||
|
|
||||||
|
$header = fgetcsv($handle);
|
||||||
|
$header = array_map(fn($h) => trim(ltrim($h ?? '', "\xEF\xBB\xBF")), $header);
|
||||||
|
|
||||||
|
$fillable = (new Ope())->getFillable();
|
||||||
|
$rows = [];
|
||||||
|
|
||||||
|
while (($row = fgetcsv($handle)) !== false) {
|
||||||
|
$assoc = [];
|
||||||
|
foreach ($header as $i => $key) {
|
||||||
|
if (in_array($key, $fillable, true)) {
|
||||||
|
$assoc[$key] = $row[$i] ?? null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($assoc) $rows[] = $assoc;
|
||||||
|
}
|
||||||
|
fclose($handle);
|
||||||
|
|
||||||
|
DB::transaction(function () use ($rows) {
|
||||||
|
foreach ($rows as $data) {
|
||||||
|
Ope::create($data);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return redirect()->route('opes')->with('success', count($rows) . '件をインポートしました。');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CSVエクスポート
|
||||||
|
*/
|
||||||
|
public function export(): StreamedResponse
|
||||||
|
{
|
||||||
|
$filename = 'ope_' . now()->format('Ymd_His') . '.csv';
|
||||||
|
$fillable = (new Ope())->getFillable();
|
||||||
|
|
||||||
|
$response = new StreamedResponse(function () use ($fillable) {
|
||||||
|
$out = fopen('php://output', 'w');
|
||||||
|
fprintf($out, chr(0xEF) . chr(0xBB) . chr(0xBF)); // BOM
|
||||||
|
fputcsv($out, $fillable);
|
||||||
|
|
||||||
|
Ope::orderBy('ope_id')->chunk(500, function ($chunk) use ($out, $fillable) {
|
||||||
|
foreach ($chunk as $row) {
|
||||||
|
$line = [];
|
||||||
|
foreach ($fillable as $f) {
|
||||||
|
$line[] = $row->$f ?? '';
|
||||||
|
}
|
||||||
|
fputcsv($out, $line);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
fclose($out);
|
||||||
|
});
|
||||||
|
|
||||||
|
$response->headers->set('Content-Type', 'text/csv; charset=UTF-8');
|
||||||
|
$response->headers->set('Content-Disposition', "attachment; filename={$filename}");
|
||||||
|
|
||||||
|
return $response;
|
||||||
|
}
|
||||||
|
}
|
||||||
268
app/Http/Controllers/Admin/OperatorQueController.php
Normal file
268
app/Http/Controllers/Admin/OperatorQueController.php
Normal file
@ -0,0 +1,268 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Admin;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
use Illuminate\Support\Facades\Validator;
|
||||||
|
use Symfony\Component\HttpFoundation\StreamedResponse;
|
||||||
|
|
||||||
|
// モデル
|
||||||
|
use App\Models\OperatorQue; // operator_que テーブル
|
||||||
|
use App\Models\User; // 利用者候補(user_seq / user_name / user_mobile / user_homephone)
|
||||||
|
use App\Models\Park; // 駐輪場候補(park_id / park_name)
|
||||||
|
|
||||||
|
class OperatorQueController extends Controller
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 一覧
|
||||||
|
* ルート: operator_ques
|
||||||
|
*/
|
||||||
|
public function list(Request $request)
|
||||||
|
{
|
||||||
|
$sort = $request->input('sort', 'que_id');
|
||||||
|
$sort_type = $request->input('sort_type', 'desc');
|
||||||
|
|
||||||
|
$query = OperatorQue::query();
|
||||||
|
|
||||||
|
if ($request->filled('que_status')) {
|
||||||
|
$query->where('que_status', $request->input('que_status'));
|
||||||
|
}
|
||||||
|
|
||||||
|
$list = $query->orderBy($sort, $sort_type)
|
||||||
|
->paginate(\App\Utils::item_per_page ?? 20);
|
||||||
|
|
||||||
|
$que_status = $request->input('que_status');
|
||||||
|
|
||||||
|
return view('admin.operator_ques.list', compact('list', 'sort', 'sort_type'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新規登録(画面/処理)
|
||||||
|
*/
|
||||||
|
public function add(Request $request)
|
||||||
|
{
|
||||||
|
if ($request->isMethod('get')) {
|
||||||
|
// 新規時は空の値でフォーム描画
|
||||||
|
return view('admin.operator_ques.add', $this->formPayload());
|
||||||
|
}
|
||||||
|
|
||||||
|
$data = $this->validateRequest($request);
|
||||||
|
|
||||||
|
OperatorQue::create($data);
|
||||||
|
|
||||||
|
return redirect()->route('operator_ques')->with('success', 'オペレーターキューを登録しました。');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 編集(画面/処理)
|
||||||
|
*/
|
||||||
|
public function edit($id, Request $request)
|
||||||
|
{
|
||||||
|
$que = OperatorQue::findOrFail($id);
|
||||||
|
|
||||||
|
if ($request->isMethod('get')) {
|
||||||
|
return view('admin.operator_ques.edit', array_merge(
|
||||||
|
$this->formPayload($que),
|
||||||
|
['que_id' => $que->que_id]
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
$data = $this->validateRequest($request, $que->que_id);
|
||||||
|
|
||||||
|
$que->fill($data)->save();
|
||||||
|
|
||||||
|
return redirect()->route('operator_ques')->with('success', 'オペレーターキューを更新しました。');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 詳細(参照)
|
||||||
|
*/
|
||||||
|
public function info($id)
|
||||||
|
{
|
||||||
|
$que = OperatorQue::findOrFail($id);
|
||||||
|
|
||||||
|
return view('admin.operator_ques.info', array_merge(
|
||||||
|
$this->formPayload($que),
|
||||||
|
['que_id' => $que->que_id]
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 削除(複数可)
|
||||||
|
*/
|
||||||
|
public function delete(Request $request)
|
||||||
|
{
|
||||||
|
$ids = [];
|
||||||
|
if ($request->filled('id')) {
|
||||||
|
$ids[] = (int) $request->input('id');
|
||||||
|
}
|
||||||
|
if (is_array($request->input('pk'))) {
|
||||||
|
$ids = array_merge($ids, $request->input('pk'));
|
||||||
|
}
|
||||||
|
$ids = array_values(array_unique(array_map('intval', $ids)));
|
||||||
|
|
||||||
|
if (!$ids) {
|
||||||
|
return back()->with('error', '削除対象が選択されていません。');
|
||||||
|
}
|
||||||
|
|
||||||
|
OperatorQue::whereIn('que_id', $ids)->delete();
|
||||||
|
|
||||||
|
return redirect()->route('operator_ques')->with('success', '削除しました。');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CSV インポート
|
||||||
|
*/
|
||||||
|
public function import(Request $request)
|
||||||
|
{
|
||||||
|
$validator = Validator::make($request->all(), [
|
||||||
|
'file' => 'required|file|mimes:csv,txt|max:20480',
|
||||||
|
]);
|
||||||
|
if ($validator->fails()) {
|
||||||
|
return back()->withErrors($validator)->withInput();
|
||||||
|
}
|
||||||
|
|
||||||
|
$file = $request->file('file')->getRealPath();
|
||||||
|
if (!$handle = fopen($file, 'r')) {
|
||||||
|
return back()->with('error', 'CSVを読み取れません。');
|
||||||
|
}
|
||||||
|
|
||||||
|
$header = fgetcsv($handle) ?: [];
|
||||||
|
$header = array_map(fn($h) => trim(ltrim($h ?? '', "\xEF\xBB\xBF")), $header);
|
||||||
|
|
||||||
|
$fillable = (new OperatorQue())->getFillable();
|
||||||
|
$rows = [];
|
||||||
|
|
||||||
|
while (($row = fgetcsv($handle)) !== false) {
|
||||||
|
$assoc = [];
|
||||||
|
foreach ($header as $i => $key) {
|
||||||
|
if (in_array($key, $fillable, true)) {
|
||||||
|
$assoc[$key] = $row[$i] ?? null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($assoc) {
|
||||||
|
$rows[] = $assoc;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fclose($handle);
|
||||||
|
|
||||||
|
DB::transaction(function () use ($rows) {
|
||||||
|
foreach ($rows as $data) {
|
||||||
|
OperatorQue::create($data);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return redirect()->route('operator_ques')->with('success', count($rows) . '件をインポートしました。');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CSV エクスポート
|
||||||
|
*/
|
||||||
|
public function export(): StreamedResponse
|
||||||
|
{
|
||||||
|
$filename = 'operator_que_' . now()->format('Ymd_His') . '.csv';
|
||||||
|
$fillable = (new OperatorQue())->getFillable(); // 見出しは fillable を流用
|
||||||
|
|
||||||
|
$response = new StreamedResponse(function () use ($fillable) {
|
||||||
|
$out = fopen('php://output', 'w');
|
||||||
|
// UTF-8 BOM
|
||||||
|
fprintf($out, chr(0xEF) . chr(0xBB) . chr(0xBF));
|
||||||
|
|
||||||
|
fputcsv($out, $fillable);
|
||||||
|
|
||||||
|
OperatorQue::orderBy('que_id')->chunk(500, function ($chunk) use ($out, $fillable) {
|
||||||
|
foreach ($chunk as $row) {
|
||||||
|
$line = [];
|
||||||
|
foreach ($fillable as $f) {
|
||||||
|
$line[] = $row->$f ?? '';
|
||||||
|
}
|
||||||
|
fputcsv($out, $line);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
fclose($out);
|
||||||
|
});
|
||||||
|
|
||||||
|
$response->headers->set('Content-Type', 'text/csv; charset=UTF-8');
|
||||||
|
$response->headers->set('Content-Disposition', "attachment; filename={$filename}");
|
||||||
|
|
||||||
|
return $response;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* フォームに渡す値/候補
|
||||||
|
*/
|
||||||
|
private function formPayload(?OperatorQue $que = null): array
|
||||||
|
{
|
||||||
|
// 値
|
||||||
|
$payload = [
|
||||||
|
'que_id' => $que->que_id ?? '',
|
||||||
|
'user_id' => $que->user_id ?? '',
|
||||||
|
'contract_id' => $que->contract_id ?? '',
|
||||||
|
'park_id' => $que->park_id ?? '',
|
||||||
|
'que_class' => $que->que_class ?? '',
|
||||||
|
'que_comment' => $que->que_comment ?? '',
|
||||||
|
'que_status' => $que->que_status ?? '',
|
||||||
|
'que_status_comment' => $que->que_status_comment?? '',
|
||||||
|
'work_instructions' => $que->work_instructions ?? '',
|
||||||
|
];
|
||||||
|
|
||||||
|
// 候補
|
||||||
|
$payload['users'] = $this->fetchUsers();
|
||||||
|
$payload['parks'] = $this->fetchParks();
|
||||||
|
|
||||||
|
return $payload;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* バリデーション
|
||||||
|
* ※ 実テーブルの型に合わせて必要に応じて調整
|
||||||
|
*/
|
||||||
|
private function validateRequest(Request $request, $queId = null): array
|
||||||
|
{
|
||||||
|
$rules = [
|
||||||
|
'user_id' => 'required|integer',
|
||||||
|
'contract_id' => 'nullable|integer',
|
||||||
|
'park_id' => 'required|integer',
|
||||||
|
'que_class' => 'required|integer',
|
||||||
|
'que_comment' => 'nullable|string|max:2000',
|
||||||
|
'que_status' => 'required|integer',
|
||||||
|
'que_status_comment' => 'nullable|string|max:2000',
|
||||||
|
'work_instructions' => 'nullable|string|max:2000',
|
||||||
|
// 'operator_id' => 'nullable|integer', // ログインユーザIDを使うなら不要
|
||||||
|
];
|
||||||
|
|
||||||
|
return $request->validate($rules);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 利用者候補(user_seq, user_name, user_mobile, user_homephone)
|
||||||
|
* Blade 側では $users をそのまま @foreach
|
||||||
|
*/
|
||||||
|
private function fetchUsers()
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
return User::select('user_seq', 'user_name', 'user_mobile', 'user_homephone')
|
||||||
|
->orderBy('user_name')
|
||||||
|
->get();
|
||||||
|
} catch (\Throwable $e) {
|
||||||
|
return DB::table('users')
|
||||||
|
->select(['user_seq', 'user_name', 'user_mobile', 'user_homephone'])
|
||||||
|
->orderBy('user_name')
|
||||||
|
->get();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 駐輪場候補(park_id => park_name)
|
||||||
|
*/
|
||||||
|
private function fetchParks()
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
return Park::orderBy('park_name')->pluck('park_name', 'park_id');
|
||||||
|
} catch (\Throwable $e) {
|
||||||
|
return DB::table('parks')->orderBy('park_name')->pluck('park_name', 'park_id');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
135
app/Http/Controllers/Admin/PaymentController.php
Normal file
135
app/Http/Controllers/Admin/PaymentController.php
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Admin;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use App\Models\Payment;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
|
class PaymentController extends Controller
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 決済情報マスタ一覧表示
|
||||||
|
*/
|
||||||
|
public function list(Request $request)
|
||||||
|
{
|
||||||
|
$sort = $request->input('sort', 'payment_id');
|
||||||
|
$sort_type = $request->input('sort_type', 'asc');
|
||||||
|
|
||||||
|
$query = Payment::query();
|
||||||
|
|
||||||
|
$query->orderBy($sort, $sort_type);
|
||||||
|
|
||||||
|
$payments = $query->paginate(20);
|
||||||
|
|
||||||
|
return view('admin.payments.list', compact('payments', 'sort', 'sort_type'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新規登録画面表示&登録処理
|
||||||
|
*/
|
||||||
|
public function add(Request $request)
|
||||||
|
{
|
||||||
|
if ($request->isMethod('post')) {
|
||||||
|
// バリデーション
|
||||||
|
$request->validate([
|
||||||
|
'payment_companyname' => 'required|string|max:255',
|
||||||
|
'payment_add' => 'nullable|string|max:255',
|
||||||
|
'payment_detail' => 'nullable|string|max:255',
|
||||||
|
'payment_space1' => 'nullable|string|max:255',
|
||||||
|
'payment_space2' => 'nullable|string|max:255',
|
||||||
|
'payment_title' => 'nullable|string|max:255',
|
||||||
|
'payment_guide' => 'nullable|string|max:255',
|
||||||
|
'payment_inquiryname' => 'nullable|string|max:255',
|
||||||
|
'payment_inquirytel' => 'nullable|string|max:255',
|
||||||
|
'payment_time' => 'nullable|string|max:255',
|
||||||
|
]);
|
||||||
|
|
||||||
|
// 登録データ作成
|
||||||
|
$data = $request->all();
|
||||||
|
$data['operator_id'] = Auth::user()->ope_id;
|
||||||
|
|
||||||
|
Payment::create($data);
|
||||||
|
|
||||||
|
return redirect()->route('payments')->with('success', '登録しました');
|
||||||
|
}
|
||||||
|
|
||||||
|
return view('admin.payments.add', [
|
||||||
|
'record' => null,
|
||||||
|
'mode' => 'add'
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 編集画面表示&更新処理
|
||||||
|
*/
|
||||||
|
public function edit(Request $request, $payment_id)
|
||||||
|
{
|
||||||
|
$payment = Payment::findOrFail($payment_id);
|
||||||
|
|
||||||
|
if ($request->isMethod('post')) {
|
||||||
|
// バリデーション
|
||||||
|
$request->validate([
|
||||||
|
'payment_companyname' => 'required|string|max:255',
|
||||||
|
// 其他字段...
|
||||||
|
]);
|
||||||
|
|
||||||
|
$data = $request->all();
|
||||||
|
$data['operator_id'] = Auth::user()->ope_id;
|
||||||
|
|
||||||
|
$payment->update($data);
|
||||||
|
|
||||||
|
return redirect()->route('payments')->with('success', '更新しました');
|
||||||
|
}
|
||||||
|
|
||||||
|
return view('admin.payments.edit', [
|
||||||
|
'payment' => $payment,
|
||||||
|
'isEdit' => true,
|
||||||
|
'isInfo' => false
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 詳細画面表示
|
||||||
|
*/
|
||||||
|
public function info($payment_id)
|
||||||
|
{
|
||||||
|
$payment = Payment::findOrFail($payment_id);
|
||||||
|
|
||||||
|
return view('admin.payments.info', [
|
||||||
|
'record' => $payment,
|
||||||
|
'mode' => 'info'
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 削除処理
|
||||||
|
*/
|
||||||
|
public function delete(Request $request)
|
||||||
|
{
|
||||||
|
if ($request->has('ids')) {
|
||||||
|
Payment::whereIn('payment_id', $request->ids)->delete();
|
||||||
|
return redirect()->route('payments')->with('success', '削除しました');
|
||||||
|
}
|
||||||
|
return redirect()->route('payments')->with('error', '削除対象が選択されていません');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* インポート処理
|
||||||
|
*/
|
||||||
|
public function import(Request $request)
|
||||||
|
{
|
||||||
|
// TODO: CSVなどのインポート処理を実装
|
||||||
|
return redirect()->route('payments')->with('success', 'インポート処理は未実装です');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* エクスポート処理
|
||||||
|
*/
|
||||||
|
public function export()
|
||||||
|
{
|
||||||
|
// TODO: エクスポート処理を実装
|
||||||
|
return redirect()->route('payments')->with('success', 'エクスポート処理は未実装です');
|
||||||
|
}
|
||||||
|
}
|
||||||
113
app/Http/Controllers/Admin/PrintAreaController.php
Normal file
113
app/Http/Controllers/Admin/PrintAreaController.php
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Admin;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use App\Models\PrintArea;
|
||||||
|
use App\Models\Park;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
|
class PrintAreaController extends Controller
|
||||||
|
{
|
||||||
|
// 一覧
|
||||||
|
public function list(Request $request)
|
||||||
|
{
|
||||||
|
$sort = $request->input('sort', 'print_area_id');
|
||||||
|
$sort_type = $request->input('sort_type', 'asc');
|
||||||
|
|
||||||
|
$list = PrintArea::orderBy($sort, $sort_type)->paginate(20);
|
||||||
|
|
||||||
|
return view('admin.print_areas.list', [
|
||||||
|
'list' => $list,
|
||||||
|
'sort' => $sort,
|
||||||
|
'sort_type' => $sort_type,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新規登録
|
||||||
|
public function add(Request $request)
|
||||||
|
{
|
||||||
|
if ($request->isMethod('post')) {
|
||||||
|
$validated = $request->validate([
|
||||||
|
'print_area_name' => 'required|string|max:32',
|
||||||
|
'park_id' => 'required|integer',
|
||||||
|
]);
|
||||||
|
|
||||||
|
$validated['operator_id'] = auth()->id(); // 現在のログインユーザーを記録
|
||||||
|
PrintArea::create($validated);
|
||||||
|
|
||||||
|
return redirect()->route('print_areas')->with('success', '登録しました');
|
||||||
|
}
|
||||||
|
|
||||||
|
$parks = Park::pluck('park_name', 'park_id');
|
||||||
|
return view('admin.print_areas.add', compact('parks'));
|
||||||
|
}
|
||||||
|
|
||||||
|
// 編集
|
||||||
|
public function edit(Request $request, $print_area_id)
|
||||||
|
{
|
||||||
|
$record = PrintArea::findOrFail($print_area_id);
|
||||||
|
|
||||||
|
if ($request->isMethod('post')) {
|
||||||
|
$validated = $request->validate([
|
||||||
|
'print_area_name' => 'required|string|max:32',
|
||||||
|
'park_id' => 'required|integer',
|
||||||
|
]);
|
||||||
|
|
||||||
|
$validated['operator_id'] = auth()->id(); // 更新者を記録
|
||||||
|
$record->update($validated);
|
||||||
|
|
||||||
|
return redirect()->route('print_areas')->with('success', '更新しました');
|
||||||
|
}
|
||||||
|
|
||||||
|
$parks = Park::pluck('park_name', 'park_id');
|
||||||
|
return view('admin.print_areas.edit', compact('record', 'parks'));
|
||||||
|
}
|
||||||
|
|
||||||
|
// 詳細
|
||||||
|
public function info(Request $request, $print_area_id)
|
||||||
|
{
|
||||||
|
$record = PrintArea::with('park')->findOrFail($print_area_id);
|
||||||
|
return view('admin.print_areas.info', compact('record'));
|
||||||
|
}
|
||||||
|
|
||||||
|
// 削除(複数可)
|
||||||
|
public function delete(Request $request)
|
||||||
|
{
|
||||||
|
if ($request->has('pk')) {
|
||||||
|
PrintArea::destroy($request->input('pk'));
|
||||||
|
return redirect()->route('print_areas')->with('success', '削除しました');
|
||||||
|
}
|
||||||
|
|
||||||
|
return redirect()->route('print_areas')->with('error', '削除対象が見つかりません');
|
||||||
|
}
|
||||||
|
|
||||||
|
// CSVエクスポート
|
||||||
|
public function export(Request $request)
|
||||||
|
{
|
||||||
|
$filename = 'print_areas_' . now()->format('Ymd_His') . '.csv';
|
||||||
|
$data = PrintArea::with('park')->get();
|
||||||
|
|
||||||
|
$csv = implode(",", ['印刷範囲ID', '印刷範囲名', '駐輪場ID', '駐輪場名']) . "\n";
|
||||||
|
foreach ($data as $item) {
|
||||||
|
$csv .= implode(",", [
|
||||||
|
$item->print_area_id,
|
||||||
|
$item->print_area_name,
|
||||||
|
$item->park_id,
|
||||||
|
optional($item->park)->park_name,
|
||||||
|
]) . "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
return response($csv)
|
||||||
|
->header('Content-Type', 'text/csv')
|
||||||
|
->header('Content-Disposition', "attachment; filename=$filename");
|
||||||
|
}
|
||||||
|
|
||||||
|
// CSVインポート(仮)
|
||||||
|
public function import(Request $request)
|
||||||
|
{
|
||||||
|
// 実装未
|
||||||
|
return redirect()->route('print_areas')->with('success', 'CSVインポート処理(未実装)');
|
||||||
|
}
|
||||||
|
}
|
||||||
172
app/Http/Controllers/Admin/RegularTypeController.php
Normal file
172
app/Http/Controllers/Admin/RegularTypeController.php
Normal file
@ -0,0 +1,172 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Admin;
|
||||||
|
|
||||||
|
use App\Models\City;
|
||||||
|
use App\Http\Requests\RegularTypeRequest;
|
||||||
|
use App\Models\RegularType;
|
||||||
|
use App\Utils;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use Illuminate\Support\Facades\Validator;
|
||||||
|
use Response;
|
||||||
|
|
||||||
|
|
||||||
|
class RegularTypeController extends Controller
|
||||||
|
{
|
||||||
|
public function list(Request $request)
|
||||||
|
{
|
||||||
|
$inputs = [
|
||||||
|
'isMethodPost' => 0,
|
||||||
|
'isExport' => 0,
|
||||||
|
'sort' => $request->input('sort', ''),
|
||||||
|
'sort_type' => $request->input('sort_type', ''),
|
||||||
|
'page' => $request->get('page', 1),
|
||||||
|
|
||||||
|
];
|
||||||
|
$inputs['isMethodPost'] = $request->isMethod('post');
|
||||||
|
$inputs['list'] = RegularType::search($inputs);
|
||||||
|
if ($inputs['list']->total() > 0 && $inputs['page'] > $inputs['list']->lastPage()) {
|
||||||
|
return redirect()->route('regular_types');
|
||||||
|
}
|
||||||
|
return view('admin.regular_types.list', $inputs);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function add(Request $request)
|
||||||
|
{
|
||||||
|
$inputs = [
|
||||||
|
'regular_type_id' => $request->input('regular_type_id'), // 定期種別ID
|
||||||
|
'city_id' => $request->input('city_name', ''), // 市区名
|
||||||
|
'regular_class_1' => $request->input('regular_class_1'), // 定期種別1
|
||||||
|
'regular_class_2' => $request->input('regular_class_2'), // 定期種別2
|
||||||
|
'regular_class_3' => $request->input('regular_class_3'), // 定期種別3
|
||||||
|
'regular_class_6' => $request->input('regular_class_6'), // 定期種別6
|
||||||
|
'regular_class_12' => $request->input('regular_class_12'), // 定期種別12
|
||||||
|
'memo' => $request->input('memo'), // 備考
|
||||||
|
];
|
||||||
|
$dataList = $this->getDataDropList();
|
||||||
|
$inputs = array_merge($inputs, $dataList);
|
||||||
|
if ($request->isMethod('POST')) {
|
||||||
|
$type = false;
|
||||||
|
$validation = new RegularTypeRequest();
|
||||||
|
$rules = $validation->rules();
|
||||||
|
$validator = Validator::make($request->all(), $rules, $validation->messages());
|
||||||
|
if (!$validator->fails()) {
|
||||||
|
\DB::transaction(function () use ($inputs, &$type) {
|
||||||
|
$new = new RegularType();
|
||||||
|
$new->fill($inputs);
|
||||||
|
if ($new->save()) {
|
||||||
|
$type = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
if ($type) {
|
||||||
|
$request->session()->flash('success', __('新しい成功を創造する。'));
|
||||||
|
return redirect()->route('regular_types');
|
||||||
|
} else {
|
||||||
|
$request->session()->flash('error', __('新しい作成に失敗しました'));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$inputs['errorMsg'] = $this->__buildErrorMessasges($validator);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return view('admin.regular_types.add', $inputs);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function edit(Request $request, $pk, $view = '')
|
||||||
|
{
|
||||||
|
$regular_type = RegularType::getByPk($pk);
|
||||||
|
if (empty($pk) || empty($regular_type)) {
|
||||||
|
abort('404');
|
||||||
|
}
|
||||||
|
$data = $regular_type->getAttributes();
|
||||||
|
$dataList = $this->getDataDropList();
|
||||||
|
$data = array_merge($data, $dataList);
|
||||||
|
if ($request->isMethod('POST')) {
|
||||||
|
$type = false;
|
||||||
|
$validation = new RegularTypeRequest();
|
||||||
|
$rules = $validation->rules();
|
||||||
|
$validator = Validator::make($request->all(), $rules, $validation->messages());
|
||||||
|
$requestAll = $request->all();
|
||||||
|
$requestAll['city_id'] = $request->input('city_name');
|
||||||
|
$data = array_merge($data, $requestAll);
|
||||||
|
if (!$validator->fails()) {
|
||||||
|
|
||||||
|
\DB::transaction(function () use ($data, &$type, $regular_type) {
|
||||||
|
$regular_type->fill($data);
|
||||||
|
$regular_type->save();
|
||||||
|
$type = true;
|
||||||
|
});
|
||||||
|
if ($type) {
|
||||||
|
$request->session()->flash('success', __('更新に成功しました'));
|
||||||
|
return redirect()->route('regular_types');
|
||||||
|
} else {
|
||||||
|
$request->session()->flash('error', __('更新に失敗しました'));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$data['errorMsg'] = $this->__buildErrorMessasges($validator);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($view != '') {
|
||||||
|
return view($view, $data);
|
||||||
|
}
|
||||||
|
return view('admin.regular_types.edit', $data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function delete(Request $request)
|
||||||
|
{
|
||||||
|
$arr_pk = $request->get('pk');
|
||||||
|
if ($arr_pk) {
|
||||||
|
if (RegularType::deleteByPk($arr_pk)) {
|
||||||
|
return redirect()->route('regular_types')->with('success', __("削除が完了しました。"));
|
||||||
|
} else {
|
||||||
|
return redirect()->route('regular_types')->with('error', __('削除に失敗しました。'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return redirect()->route('regular_types')->with('error', __('削除するユーザーを選択してください。'));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function export(Request $request)
|
||||||
|
{
|
||||||
|
|
||||||
|
$headers = array(
|
||||||
|
"Content-type" => "text/csv;charset=UTF-8",
|
||||||
|
'Content-Encoding: UTF-8',
|
||||||
|
"Content-Disposition" => "attachment; filename=file.csv",
|
||||||
|
"Pragma" => "no-cache",
|
||||||
|
"Cache-Control" => "must-revalidate, post-check=0, pre-check=0",
|
||||||
|
"Expires" => "0"
|
||||||
|
);
|
||||||
|
$inputs = [
|
||||||
|
'isMethodPost' => 0,
|
||||||
|
'isExport' => 1,
|
||||||
|
'sort' => $request->input('sort', ''),
|
||||||
|
'sort_type' => $request->input('sort_type', ''),
|
||||||
|
|
||||||
|
];
|
||||||
|
$dataExport = RegularType::search($inputs);
|
||||||
|
$columns = array('user_seq', 'user_id');
|
||||||
|
$filename = "UserMaster.csv";
|
||||||
|
$file = fopen($filename, 'w+');
|
||||||
|
fputcsv($file, $columns);
|
||||||
|
foreach ($dataExport as $item) {
|
||||||
|
fputcsv($file, array($item->user_seq, $item->user_id));
|
||||||
|
}
|
||||||
|
fclose($file);
|
||||||
|
return Response::download($filename, $filename, $headers);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function info(Request $request, $id)
|
||||||
|
{
|
||||||
|
return $this->edit($request, $id, 'admin.regular_types.info');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getDataDropList()
|
||||||
|
{
|
||||||
|
$data['cities'] = City::getList();
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
161
app/Http/Controllers/Admin/SettingController.php
Normal file
161
app/Http/Controllers/Admin/SettingController.php
Normal file
@ -0,0 +1,161 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Admin;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Models\Setting;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
use Illuminate\Support\Facades\Validator;
|
||||||
|
|
||||||
|
class SettingController extends Controller
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 一覧(絞り込みなし・ページングのみ): /settings
|
||||||
|
*/
|
||||||
|
public function list(Request $request)
|
||||||
|
{
|
||||||
|
$perPage = \App\Utils::item_per_page ?? 20;
|
||||||
|
$list = Setting::orderBy('setting_id', 'desc')->paginate($perPage);
|
||||||
|
|
||||||
|
return view('admin.settings.list', [
|
||||||
|
'list' => $list,
|
||||||
|
'sort' => 'setting_id',
|
||||||
|
'sort_type' => 'desc',
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 追加(GET: 画面 / POST: 登録): /settings/add
|
||||||
|
*/
|
||||||
|
public function add(Request $request)
|
||||||
|
{
|
||||||
|
if ($request->isMethod('post')) {
|
||||||
|
$v = Validator::make($request->all(), $this->rules());
|
||||||
|
if ($v->fails()) return back()->withErrors($v)->withInput();
|
||||||
|
|
||||||
|
// チェックボックス(未送信時は 0)
|
||||||
|
$data = $this->onlyFillable($request);
|
||||||
|
$data['printable_alert_flag'] = $request->boolean('printable_alert_flag');
|
||||||
|
|
||||||
|
DB::transaction(function () use ($data) {
|
||||||
|
Setting::create($data);
|
||||||
|
});
|
||||||
|
|
||||||
|
return redirect()->route('settings')->with('success', '設定を登録しました。');
|
||||||
|
}
|
||||||
|
|
||||||
|
return view('admin.settings.add', [
|
||||||
|
'setting' => new Setting(), // フォーム初期化用
|
||||||
|
'isInfo' => false,
|
||||||
|
'isEdit' => false,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 編集(GET: 画面 / POST: 更新): /settings/edit/{id}
|
||||||
|
*/
|
||||||
|
public function edit(Request $request, int $id)
|
||||||
|
{
|
||||||
|
$setting = Setting::findOrFail($id);
|
||||||
|
|
||||||
|
if ($request->isMethod('post')) {
|
||||||
|
$v = Validator::make($request->all(), $this->rules($id));
|
||||||
|
if ($v->fails()) return back()->withErrors($v)->withInput();
|
||||||
|
|
||||||
|
$data = $this->onlyFillable($request);
|
||||||
|
$data['printable_alert_flag'] = $request->boolean('printable_alert_flag');
|
||||||
|
|
||||||
|
DB::transaction(function () use ($setting, $data) {
|
||||||
|
$setting->update($data);
|
||||||
|
});
|
||||||
|
|
||||||
|
return redirect()->route('settings')->with('success', '設定を更新しました。');
|
||||||
|
}
|
||||||
|
|
||||||
|
return view('admin.settings.edit', [
|
||||||
|
'setting' => $setting,
|
||||||
|
'isInfo' => false,
|
||||||
|
'isEdit' => true,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 詳細表示: /settings/info/{id}
|
||||||
|
*/
|
||||||
|
public function info(int $id)
|
||||||
|
{
|
||||||
|
$setting = Setting::findOrFail($id);
|
||||||
|
|
||||||
|
return view('admin.settings.info', [
|
||||||
|
'setting' => $setting,
|
||||||
|
'isInfo' => true,
|
||||||
|
'isEdit' => false,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 削除(単体/複数対応): /settings/delete
|
||||||
|
*/
|
||||||
|
public function delete(Request $request)
|
||||||
|
{
|
||||||
|
$ids = $request->input('ids');
|
||||||
|
$id = $request->input('id');
|
||||||
|
if ($id) $ids = [$id];
|
||||||
|
|
||||||
|
if (!is_array($ids) || empty($ids)) {
|
||||||
|
return back()->with('error', '削除対象が指定されていません。');
|
||||||
|
}
|
||||||
|
|
||||||
|
DB::transaction(function () use ($ids) {
|
||||||
|
Setting::whereIn('setting_id', $ids)->delete();
|
||||||
|
});
|
||||||
|
|
||||||
|
return redirect()->route('settings')->with('success', '設定を削除しました。');
|
||||||
|
}
|
||||||
|
|
||||||
|
// ===== バリデーション・ユーティリティ =====
|
||||||
|
|
||||||
|
/**
|
||||||
|
* バリデーションルール
|
||||||
|
*/
|
||||||
|
private function rules(?int $id = null): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'edit_master' => ['nullable','string','max:255'],
|
||||||
|
'web_master' => ['nullable','string','max:255'],
|
||||||
|
'auto_change_date' => ['nullable','date'],
|
||||||
|
'auto_chage_master' => ['nullable','string','max:255'], // ※カラム名は仕様通り
|
||||||
|
're_issue_alert_number' => ['nullable','integer','min:0'],
|
||||||
|
'image_base_url1' => ['nullable','string','max:255'],
|
||||||
|
'image_base_url2' => ['nullable','string','max:255'],
|
||||||
|
'printable_alert_flag' => ['nullable','boolean'],
|
||||||
|
'printable_number' => ['nullable','integer','min:0'],
|
||||||
|
'printable_alert_number' => ['nullable','integer','min:0'],
|
||||||
|
'printer_keep_alive' => ['nullable','integer','min:0'],
|
||||||
|
'operator_id' => ['nullable','integer','min:0'],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* フォームから fillable のみ抽出
|
||||||
|
*/
|
||||||
|
private function onlyFillable(Request $request): array
|
||||||
|
{
|
||||||
|
return $request->only([
|
||||||
|
'edit_master',
|
||||||
|
'web_master',
|
||||||
|
'auto_change_date',
|
||||||
|
'auto_chage_master',
|
||||||
|
're_issue_alert_number',
|
||||||
|
'image_base_url1',
|
||||||
|
'image_base_url2',
|
||||||
|
'printable_number',
|
||||||
|
'printable_alert_number',
|
||||||
|
'printer_keep_alive',
|
||||||
|
'operator_id',
|
||||||
|
'printable_alert_flag',
|
||||||
|
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
283
app/Http/Controllers/Admin/SettlementTransactionController.php
Normal file
283
app/Http/Controllers/Admin/SettlementTransactionController.php
Normal file
@ -0,0 +1,283 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Admin;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Models\SettlementTransaction;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
use Symfony\Component\HttpFoundation\StreamedResponse;
|
||||||
|
|
||||||
|
class SettlementTransactionController extends Controller
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 一覧
|
||||||
|
* ルート: settlement_transactions
|
||||||
|
*/
|
||||||
|
public function list(Request $request)
|
||||||
|
{
|
||||||
|
$q = SettlementTransaction::query();
|
||||||
|
|
||||||
|
// --- 絞り込み(必要なら増やせます)
|
||||||
|
$contractId = $request->input('contract_id');
|
||||||
|
$status = trim((string)$request->input('status', ''));
|
||||||
|
$from = $request->input('from'); // 支払日時 from
|
||||||
|
$to = $request->input('to'); // 支払日時 to
|
||||||
|
|
||||||
|
if ($contractId !== null && $contractId !== '') {
|
||||||
|
$q->where('contract_id', (int)$contractId);
|
||||||
|
}
|
||||||
|
if ($status !== '') {
|
||||||
|
$q->where('status', 'like', "%{$status}%");
|
||||||
|
}
|
||||||
|
if ($from) {
|
||||||
|
$q->whereDate('pay_date', '>=', $from);
|
||||||
|
}
|
||||||
|
if ($to) {
|
||||||
|
$q->whereDate('pay_date', '<=', $to);
|
||||||
|
}
|
||||||
|
|
||||||
|
// --- ソート(既定:created_at desc)
|
||||||
|
$sort = $request->input('sort', 'created_at');
|
||||||
|
$type = strtolower($request->input('sort_type', 'desc'));
|
||||||
|
$allow = [
|
||||||
|
'settlement_transaction_id', 'created_at', 'updated_at',
|
||||||
|
'contract_id', 'status', 'pay_date', 'settlement_amount',
|
||||||
|
];
|
||||||
|
if (!in_array($sort, $allow, true)) $sort = 'created_at';
|
||||||
|
if (!in_array($type, ['asc', 'desc'], true)) $type = 'desc';
|
||||||
|
$q->orderBy($sort, $type);
|
||||||
|
|
||||||
|
return view('admin.settlement_transactions.list', [
|
||||||
|
'transactions' => $q->paginate(20)->appends($request->except('page')),
|
||||||
|
'contract_id' => $contractId,
|
||||||
|
'status' => $status,
|
||||||
|
'from' => $from,
|
||||||
|
'to' => $to,
|
||||||
|
'sort' => $sort,
|
||||||
|
'sort_type' => $type,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新規
|
||||||
|
* ルート: settlement_transactions_add
|
||||||
|
*/
|
||||||
|
public function add(Request $request)
|
||||||
|
{
|
||||||
|
if ($request->isMethod('post')) {
|
||||||
|
$data = $this->validatePayload($request);
|
||||||
|
SettlementTransaction::create($data);
|
||||||
|
return redirect()->route('settlement_transactions')->with('success', '登録しました');
|
||||||
|
}
|
||||||
|
|
||||||
|
return view('admin.settlement_transactions.add', [
|
||||||
|
'transaction' => null,
|
||||||
|
'isEdit' => false,
|
||||||
|
'isInfo' => false,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 編集
|
||||||
|
* ルート: settlement_transactions_edit
|
||||||
|
*/
|
||||||
|
public function edit(int $settlement_transaction_id, Request $request)
|
||||||
|
{
|
||||||
|
$transaction = SettlementTransaction::findOrFail($settlement_transaction_id);
|
||||||
|
|
||||||
|
if ($request->isMethod('post')) {
|
||||||
|
$data = $this->validatePayload($request);
|
||||||
|
$transaction->update($data);
|
||||||
|
return redirect()->route('settlement_transactions')->with('success', '更新しました');
|
||||||
|
}
|
||||||
|
|
||||||
|
return view('admin.settlement_transactions.edit', [
|
||||||
|
'transaction' => $transaction,
|
||||||
|
'isEdit' => true,
|
||||||
|
'isInfo' => false,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 詳細
|
||||||
|
* ルート: settlement_transactions_info
|
||||||
|
*/
|
||||||
|
public function info(int $settlement_transaction_id)
|
||||||
|
{
|
||||||
|
$transaction = SettlementTransaction::findOrFail($settlement_transaction_id);
|
||||||
|
|
||||||
|
return view('admin.settlement_transactions.info', [
|
||||||
|
'transaction' => $transaction,
|
||||||
|
'isEdit' => false,
|
||||||
|
'isInfo' => true,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 一括削除(一覧のチェック name="ids[]")
|
||||||
|
* ルート: settlement_transactions_delete
|
||||||
|
*/
|
||||||
|
public function delete(Request $request)
|
||||||
|
{
|
||||||
|
$ids = (array) $request->input('ids', []);
|
||||||
|
$ids = array_values(array_filter($ids, fn($v) => preg_match('/^\d+$/', (string)$v)));
|
||||||
|
|
||||||
|
if (!$ids) {
|
||||||
|
return redirect()->route('settlement_transactions')->with('error', '削除対象が選択されていません。');
|
||||||
|
}
|
||||||
|
|
||||||
|
SettlementTransaction::whereIn('settlement_transaction_id', $ids)->delete();
|
||||||
|
|
||||||
|
return redirect()->route('settlement_transactions')->with('success', '削除しました');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CSVインポート(簡易)
|
||||||
|
* ルート: settlement_transactions_import
|
||||||
|
*
|
||||||
|
* 想定カラム順:
|
||||||
|
* contract_id,status,pay_code,contract_payment_number,corp_code,
|
||||||
|
* mms_date,cvs_code,shop_code,pay_date,settlement_amount,stamp_flag,md5_string
|
||||||
|
* 1行目ヘッダ可
|
||||||
|
*/
|
||||||
|
public function import(Request $request)
|
||||||
|
{
|
||||||
|
$request->validate([
|
||||||
|
'file' => ['required', 'file', 'mimetypes:text/plain,text/csv,text/tsv', 'max:4096'],
|
||||||
|
]);
|
||||||
|
|
||||||
|
$path = $request->file('file')->getRealPath();
|
||||||
|
|
||||||
|
$created = 0;
|
||||||
|
$updated = 0;
|
||||||
|
$skipped = 0;
|
||||||
|
|
||||||
|
DB::beginTransaction();
|
||||||
|
try {
|
||||||
|
if (($fp = fopen($path, 'r')) !== false) {
|
||||||
|
$line = 0;
|
||||||
|
while (($row = fgetcsv($fp)) !== false) {
|
||||||
|
$line++;
|
||||||
|
|
||||||
|
// ヘッダ行をスキップ
|
||||||
|
if ($line === 1) {
|
||||||
|
$joined = strtolower(implode(',', $row));
|
||||||
|
if (str_contains($joined, 'contract_id') || str_contains($joined, 'status')) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 入力列を安全に展開
|
||||||
|
[$contract_id,$status,$pay_code,$contract_payment_number,$corp_code,$mms_date,$cvs_code,$shop_code,$pay_date,$settlement_amount,$stamp_flag,$md5_string] = array_pad($row, 12, null);
|
||||||
|
|
||||||
|
// 正規化
|
||||||
|
$payload = [
|
||||||
|
'contract_id' => ($contract_id === '' || $contract_id === null) ? null : (int)$contract_id,
|
||||||
|
'status' => $status !== null ? trim($status) : null,
|
||||||
|
'pay_code' => $pay_code !== null ? trim($pay_code) : null,
|
||||||
|
'contract_payment_number' => $contract_payment_number !== null ? trim($contract_payment_number) : null,
|
||||||
|
'corp_code' => $corp_code !== null ? trim($corp_code) : null,
|
||||||
|
'mms_date' => $mms_date !== null ? trim($mms_date) : null,
|
||||||
|
'cvs_code' => $cvs_code !== null ? trim($cvs_code) : null,
|
||||||
|
'shop_code' => $shop_code !== null ? trim($shop_code) : null,
|
||||||
|
'pay_date' => $pay_date ? date('Y-m-d H:i:s', strtotime($pay_date)) : null,
|
||||||
|
'settlement_amount' => ($settlement_amount === '' || $settlement_amount === null) ? null : (float)preg_replace('/[^\d.]/','',$settlement_amount),
|
||||||
|
'stamp_flag' => $stamp_flag !== null ? trim($stamp_flag) : null,
|
||||||
|
'md5_string' => $md5_string !== null ? trim($md5_string) : null,
|
||||||
|
];
|
||||||
|
|
||||||
|
// upsert キー(優先: md5_string、なければ contract_id+pay_date)
|
||||||
|
$ex = null;
|
||||||
|
if (!empty($payload['md5_string'])) {
|
||||||
|
$ex = SettlementTransaction::where('md5_string', $payload['md5_string'])->first();
|
||||||
|
} elseif (!empty($payload['contract_id']) && !empty($payload['pay_date'])) {
|
||||||
|
$ex = SettlementTransaction::where('contract_id', $payload['contract_id'])
|
||||||
|
->where('pay_date', $payload['pay_date'])->first();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($ex) { $ex->update($payload); $updated++; }
|
||||||
|
else { SettlementTransaction::create($payload); $created++; }
|
||||||
|
}
|
||||||
|
fclose($fp);
|
||||||
|
}
|
||||||
|
|
||||||
|
DB::commit();
|
||||||
|
return redirect()->route('settlement_transactions')
|
||||||
|
->with('success', "インポート完了:新規 {$created} 件、更新 {$updated} 件、スキップ {$skipped} 件");
|
||||||
|
} catch (\Throwable $e) {
|
||||||
|
DB::rollBack();
|
||||||
|
return redirect()->route('settlement_transactions')
|
||||||
|
->with('error', 'インポートに失敗しました:' . $e->getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CSVエクスポート
|
||||||
|
* ルート: settlement_transactions_export
|
||||||
|
*/
|
||||||
|
public function export(Request $request): StreamedResponse
|
||||||
|
{
|
||||||
|
$q = SettlementTransaction::query();
|
||||||
|
|
||||||
|
// 一覧と同じソートを適用(任意で絞り込みも追加可能)
|
||||||
|
$sort = $request->input('sort', 'created_at');
|
||||||
|
$type = strtolower($request->input('sort_type', 'desc'));
|
||||||
|
if (!in_array($type, ['asc','desc'], true)) $type = 'desc';
|
||||||
|
$q->orderBy($sort, $type);
|
||||||
|
|
||||||
|
$filename = 'settlement_transactions_' . now()->format('Ymd_His') . '.csv';
|
||||||
|
|
||||||
|
return response()->streamDownload(function () use ($q) {
|
||||||
|
$out = fopen('php://output', 'w');
|
||||||
|
fputcsv($out, [
|
||||||
|
'ID','契約ID','ステータス','支払コード','契約課金番号','企業コード',
|
||||||
|
'MMS日付','CVSコード','店舗コード','支払日時','金額','スタンプ','MD5',
|
||||||
|
'登録日時','更新日時'
|
||||||
|
]);
|
||||||
|
$q->chunk(500, function ($rows) use ($out) {
|
||||||
|
foreach ($rows as $r) {
|
||||||
|
fputcsv($out, [
|
||||||
|
$r->settlement_transaction_id,
|
||||||
|
$r->contract_id,
|
||||||
|
$r->status,
|
||||||
|
$r->pay_code,
|
||||||
|
$r->contract_payment_number,
|
||||||
|
$r->corp_code,
|
||||||
|
$r->mms_date,
|
||||||
|
$r->cvs_code,
|
||||||
|
$r->shop_code,
|
||||||
|
optional($r->pay_date)->format('Y-m-d H:i:s'),
|
||||||
|
$r->settlement_amount,
|
||||||
|
$r->stamp_flag,
|
||||||
|
$r->md5_string,
|
||||||
|
optional($r->created_at)->format('Y-m-d H:i:s'),
|
||||||
|
optional($r->updated_at)->format('Y-m-d H:i:s'),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
fclose($out);
|
||||||
|
}, $filename, ['Content-Type' => 'text/csv; charset=UTF-8']);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 共通バリデーション
|
||||||
|
*/
|
||||||
|
private function validatePayload(Request $request): array
|
||||||
|
{
|
||||||
|
return $request->validate([
|
||||||
|
'contract_id' => ['nullable','integer'],
|
||||||
|
'status' => ['nullable','string','max:255'],
|
||||||
|
'pay_code' => ['nullable','string','max:255'],
|
||||||
|
'contract_payment_number' => ['nullable','string','max:255'],
|
||||||
|
'corp_code' => ['nullable','string','max:255'],
|
||||||
|
'mms_date' => ['nullable','string','max:255'],
|
||||||
|
'cvs_code' => ['nullable','string','max:255'],
|
||||||
|
'shop_code' => ['nullable','string','max:255'],
|
||||||
|
'pay_date' => ['nullable','date'],
|
||||||
|
'settlement_amount' => ['nullable','numeric'], // DB は decimal(10,0)
|
||||||
|
'stamp_flag' => ['nullable','string','max:255'],
|
||||||
|
'md5_string' => ['nullable','string','max:255'],
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
284
app/Http/Controllers/Admin/TaxController.php
Normal file
284
app/Http/Controllers/Admin/TaxController.php
Normal file
@ -0,0 +1,284 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Admin;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Models\Tax;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
use Symfony\Component\HttpFoundation\StreamedResponse;
|
||||||
|
|
||||||
|
class TaxController extends Controller
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 一覧:キーワード/適用日範囲で絞り込み + ソート + ページング
|
||||||
|
*/
|
||||||
|
public function list(Request $request)
|
||||||
|
{
|
||||||
|
$query = Tax::query();
|
||||||
|
|
||||||
|
// 絞り込み
|
||||||
|
$keyword = trim((string) $request->input('kw'));
|
||||||
|
if ($keyword !== '') {
|
||||||
|
// 数値型でも互換のため部分一致を残す
|
||||||
|
$query->where('tax_percent', 'like', "%{$keyword}%");
|
||||||
|
}
|
||||||
|
$from = $request->input('from');
|
||||||
|
$to = $request->input('to');
|
||||||
|
if ($from) {
|
||||||
|
$query->whereDate('tax_day', '>=', $from);
|
||||||
|
}
|
||||||
|
if ($to) {
|
||||||
|
$query->whereDate('tax_day', '<=', $to);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ソート(既定:適用日 降順)
|
||||||
|
$sort = $request->input('sort', 'tax_day');
|
||||||
|
$type = strtolower($request->input('sort_type', 'desc'));
|
||||||
|
$allow = ['tax_day', 'tax_percent', 'updated_at', 'created_at', 'tax_id'];
|
||||||
|
if (!in_array($sort, $allow, true)) {
|
||||||
|
$sort = 'tax_day';
|
||||||
|
}
|
||||||
|
if (!in_array($type, ['asc', 'desc'], true)) {
|
||||||
|
$type = 'desc';
|
||||||
|
}
|
||||||
|
$query->orderBy($sort, $type);
|
||||||
|
|
||||||
|
$list = $query->paginate(20)->appends($request->except('page'));
|
||||||
|
|
||||||
|
return view('admin.tax.list', [
|
||||||
|
'taxes' => $list,
|
||||||
|
'kw' => $keyword,
|
||||||
|
'from' => $from,
|
||||||
|
'to' => $to,
|
||||||
|
'sort' => $sort,
|
||||||
|
'sort_type' => $type,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function add(Request $request)
|
||||||
|
{
|
||||||
|
if ($request->isMethod('post')) {
|
||||||
|
$data = $request->validate([
|
||||||
|
'tax_percent' => ['required', 'numeric', 'min:0', 'max:1000'],
|
||||||
|
'tax_day' => ['required', 'date', 'unique:tax,tax_day'],
|
||||||
|
]);
|
||||||
|
$data['operator_id'] = optional(\Auth::user())->ope_id ?? null;
|
||||||
|
$data['tax_percent'] = number_format((float)$data['tax_percent'], 2, '.', '');
|
||||||
|
\App\Models\Tax::create($data);
|
||||||
|
|
||||||
|
return redirect()->route('tax')->with('success', '登録しました');
|
||||||
|
}
|
||||||
|
|
||||||
|
return view('admin.tax.add', [
|
||||||
|
'tax' => null,
|
||||||
|
'isEdit' => false,
|
||||||
|
'isInfo' => false,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function edit(int $tax_id, Request $request)
|
||||||
|
{
|
||||||
|
$tax = \App\Models\Tax::findOrFail($tax_id);
|
||||||
|
|
||||||
|
if ($request->isMethod('post')) {
|
||||||
|
$data = $request->validate([
|
||||||
|
'tax_percent' => ['required', 'numeric', 'min:0', 'max:1000'],
|
||||||
|
'tax_day' => ['required', 'date', 'unique:tax,tax_day,' . $tax->tax_id . ',tax_id'],
|
||||||
|
]);
|
||||||
|
$data['operator_id'] = optional(\Auth::user())->ope_id ?? null;
|
||||||
|
$data['tax_percent'] = number_format((float)$data['tax_percent'], 2, '.', '');
|
||||||
|
$tax->update($data);
|
||||||
|
|
||||||
|
return redirect()->route('tax')->with('success', '更新しました');
|
||||||
|
}
|
||||||
|
|
||||||
|
return view('admin.tax.edit', [
|
||||||
|
'tax' => $tax,
|
||||||
|
'isEdit' => true,
|
||||||
|
'isInfo' => false,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function info(int $tax_id)
|
||||||
|
{
|
||||||
|
$tax = \App\Models\Tax::findOrFail($tax_id);
|
||||||
|
|
||||||
|
return view('admin.tax.info', [
|
||||||
|
'tax' => $tax,
|
||||||
|
'isEdit' => false,
|
||||||
|
'isInfo' => true,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 一括削除(一覧のチェックボックスで送られてくる想定)
|
||||||
|
* フォーム側 name="ids[]" の配列を POST
|
||||||
|
*/
|
||||||
|
public function delete(Request $request)
|
||||||
|
{
|
||||||
|
$ids = (array) $request->input('ids', []);
|
||||||
|
$ids = array_values(array_filter($ids, fn($v) => preg_match('/^\d+$/', (string) $v)));
|
||||||
|
|
||||||
|
if (empty($ids)) {
|
||||||
|
return redirect()->route('tax')->with('error', '削除対象が選択されていません。');
|
||||||
|
}
|
||||||
|
|
||||||
|
Tax::whereIn('tax_id', $ids)->delete();
|
||||||
|
|
||||||
|
return redirect()->route('tax')->with('success', '削除しました');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CSVインポート
|
||||||
|
* カラム想定: tax_percent, tax_day
|
||||||
|
* - 1行目はヘッダ可
|
||||||
|
* - tax_day をキーとして「存在すれば更新 / 無ければ作成」
|
||||||
|
*/
|
||||||
|
public function import(Request $request)
|
||||||
|
{
|
||||||
|
$request->validate([
|
||||||
|
'file' => ['required', 'file', 'mimetypes:text/plain,text/csv,text/tsv', 'max:2048'],
|
||||||
|
]);
|
||||||
|
|
||||||
|
$path = $request->file('file')->getRealPath();
|
||||||
|
if (!$path || !is_readable($path)) {
|
||||||
|
return redirect()->route('tax')->with('error', 'ファイルを読み込めません。');
|
||||||
|
}
|
||||||
|
|
||||||
|
$created = 0;
|
||||||
|
$updated = 0;
|
||||||
|
$skipped = 0;
|
||||||
|
|
||||||
|
DB::beginTransaction();
|
||||||
|
try {
|
||||||
|
if (($fp = fopen($path, 'r')) !== false) {
|
||||||
|
$line = 0;
|
||||||
|
while (($row = fgetcsv($fp)) !== false) {
|
||||||
|
$line++;
|
||||||
|
|
||||||
|
// 空行スキップ
|
||||||
|
if (count($row) === 1 && trim((string) $row[0]) === '') {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ヘッダ行っぽい場合(1行目に 'tax_percent' を含む)
|
||||||
|
if ($line === 1) {
|
||||||
|
$joined = strtolower(implode(',', $row));
|
||||||
|
if (str_contains($joined, 'tax_percent') && str_contains($joined, 'tax_day')) {
|
||||||
|
continue; // ヘッダスキップ
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 取り出し(列数が足りない場合スキップ)
|
||||||
|
$percent = $row[0] ?? null;
|
||||||
|
$day = $row[1] ?? null;
|
||||||
|
if ($percent === null || $day === null) {
|
||||||
|
$skipped++;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 正規化 & 検証
|
||||||
|
$percent = trim((string) $percent);
|
||||||
|
$percent = rtrim($percent, '%');
|
||||||
|
$percent = preg_replace('/[^\d.]/', '', $percent) ?? '0';
|
||||||
|
$percentF = (float) $percent;
|
||||||
|
if ($percentF < 0) {
|
||||||
|
$skipped++;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$percentF = (float) number_format($percentF, 2, '.', '');
|
||||||
|
|
||||||
|
$day = date('Y-m-d', strtotime((string) $day));
|
||||||
|
if (!$day) {
|
||||||
|
$skipped++;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// upsert: 適用日ユニーク運用
|
||||||
|
$existing = Tax::whereDate('tax_day', $day)->first();
|
||||||
|
$payload = [
|
||||||
|
'tax_percent' => $percentF,
|
||||||
|
'tax_day' => $day,
|
||||||
|
'operator_id' => optional(Auth::user())->ope_id ?? null,
|
||||||
|
];
|
||||||
|
|
||||||
|
if ($existing) {
|
||||||
|
$existing->update($payload);
|
||||||
|
$updated++;
|
||||||
|
} else {
|
||||||
|
Tax::create($payload);
|
||||||
|
$created++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fclose($fp);
|
||||||
|
}
|
||||||
|
|
||||||
|
DB::commit();
|
||||||
|
return redirect()->route('tax')->with('success', "インポート完了:新規 {$created} 件、更新 {$updated} 件、スキップ {$skipped} 件");
|
||||||
|
} catch (\Throwable $e) {
|
||||||
|
DB::rollBack();
|
||||||
|
return redirect()->route('tax')->with('error', 'インポートに失敗しました:' . $e->getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CSVエクスポート:現在の絞り込み/ソート条件を反映
|
||||||
|
*/
|
||||||
|
public function export(Request $request): StreamedResponse
|
||||||
|
{
|
||||||
|
$query = Tax::query();
|
||||||
|
|
||||||
|
$keyword = trim((string) $request->input('kw'));
|
||||||
|
if ($keyword !== '') {
|
||||||
|
$query->where('tax_percent', 'like', "%{$keyword}%");
|
||||||
|
}
|
||||||
|
$from = $request->input('from');
|
||||||
|
$to = $request->input('to');
|
||||||
|
if ($from) {
|
||||||
|
$query->whereDate('tax_day', '>=', $from);
|
||||||
|
}
|
||||||
|
if ($to) {
|
||||||
|
$query->whereDate('tax_day', '<=', $to);
|
||||||
|
}
|
||||||
|
|
||||||
|
$sort = $request->input('sort', 'tax_day');
|
||||||
|
$type = strtolower($request->input('sort_type', 'desc'));
|
||||||
|
$allow = ['tax_day', 'tax_percent', 'updated_at', 'created_at', 'tax_id'];
|
||||||
|
if (!in_array($sort, $allow, true)) {
|
||||||
|
$sort = 'tax_day';
|
||||||
|
}
|
||||||
|
if (!in_array($type, ['asc', 'desc'], true)) {
|
||||||
|
$type = 'desc';
|
||||||
|
}
|
||||||
|
$query->orderBy($sort, $type);
|
||||||
|
|
||||||
|
$filename = 'tax_' . now()->format('Ymd_His') . '.csv';
|
||||||
|
|
||||||
|
return response()->streamDownload(function () use ($query) {
|
||||||
|
$out = fopen('php://output', 'w');
|
||||||
|
// Header(設計書の主要カラム)
|
||||||
|
fputcsv($out, ['消費税ID', '消費税率', '適用日', '登録日時', '更新日時', '更新オペレータID']);
|
||||||
|
$query->chunk(500, function ($rows) use ($out) {
|
||||||
|
foreach ($rows as $r) {
|
||||||
|
fputcsv($out, [
|
||||||
|
$r->tax_id,
|
||||||
|
// 画面仕様に合わせたい場合は getDisplayTaxPercentAttribute() に置換可
|
||||||
|
is_numeric($r->tax_percent)
|
||||||
|
? number_format((float) $r->tax_percent, 2, '.', '')
|
||||||
|
: (string) $r->tax_percent,
|
||||||
|
optional($r->tax_day)->format('Y-m-d'),
|
||||||
|
optional($r->created_at)->format('Y-m-d H:i:s'),
|
||||||
|
optional($r->updated_at)->format('Y-m-d H:i:s'),
|
||||||
|
$r->operator_id,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
fclose($out);
|
||||||
|
}, $filename, [
|
||||||
|
'Content-Type' => 'text/csv; charset=UTF-8',
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
137
app/Http/Controllers/Admin/TermsController.php
Normal file
137
app/Http/Controllers/Admin/TermsController.php
Normal file
@ -0,0 +1,137 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Admin;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use App\Models\Term;
|
||||||
|
use App\Models\City;
|
||||||
|
|
||||||
|
class TermsController extends Controller
|
||||||
|
{
|
||||||
|
// 一覧表示
|
||||||
|
public function list(Request $request)
|
||||||
|
{
|
||||||
|
$sort = $request->input('sort', 'terms_id');
|
||||||
|
$sort_type = $request->input('sort_type', 'asc');
|
||||||
|
|
||||||
|
$allowedSorts = ['terms_id', 'terms_revision', 'start_date', 'use_flag'];
|
||||||
|
if (!in_array($sort, $allowedSorts)) {
|
||||||
|
$sort = 'terms_id';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!in_array($sort_type, ['asc', 'desc'])) {
|
||||||
|
$sort_type = 'asc';
|
||||||
|
}
|
||||||
|
|
||||||
|
$terms = Term::select([
|
||||||
|
'terms_id',
|
||||||
|
'terms_revision',
|
||||||
|
'terms_text',
|
||||||
|
'start_date',
|
||||||
|
'use_flag',
|
||||||
|
'memo',
|
||||||
|
'city_id',
|
||||||
|
'operator_id'
|
||||||
|
])->orderBy($sort, $sort_type)->paginate(20);
|
||||||
|
|
||||||
|
return view('admin.terms.list', compact('terms', 'sort', 'sort_type'));
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新規登録画面・登録処理
|
||||||
|
public function add(Request $request)
|
||||||
|
{
|
||||||
|
if ($request->isMethod('post')) {
|
||||||
|
$validated = $request->validate([
|
||||||
|
'terms_revision' => 'required|string|max:255',
|
||||||
|
'terms_text' => 'required|string',
|
||||||
|
'start_date' => 'nullable|date',
|
||||||
|
'use_flag' => 'required|in:0,1',
|
||||||
|
'memo' => 'nullable|string|max:255',
|
||||||
|
'city_id' => 'nullable|integer',
|
||||||
|
'operator_id' => 'nullable|integer',
|
||||||
|
]);
|
||||||
|
|
||||||
|
Term::create($validated);
|
||||||
|
return redirect()->route('terms')->with('success', '利用規約が登録されました');
|
||||||
|
}
|
||||||
|
// 都市の選択肢を取得
|
||||||
|
$cities = City::pluck('city_name', 'city_id');
|
||||||
|
|
||||||
|
return view('admin.terms.add', compact('cities'));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 編集画面・更新処理
|
||||||
|
public function edit(Request $request, $id)
|
||||||
|
{
|
||||||
|
$term = Term::findOrFail($id);
|
||||||
|
$cities = City::pluck('city_name', 'city_id');
|
||||||
|
|
||||||
|
if ($request->isMethod('post')) {
|
||||||
|
$validated = $request->validate([
|
||||||
|
'terms_revision' => 'required|string|max:255',
|
||||||
|
'terms_text' => 'required|string',
|
||||||
|
'start_date' => 'nullable|date',
|
||||||
|
'use_flag' => 'required|in:0,1',
|
||||||
|
'memo' => 'nullable|string|max:255',
|
||||||
|
'city_id' => 'nullable|integer',
|
||||||
|
'operator_id' => 'nullable|integer',
|
||||||
|
]);
|
||||||
|
|
||||||
|
$term->update($validated);
|
||||||
|
return redirect()->route('terms')->with('success', '利用規約が更新されました');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return view('admin.terms.edit', compact('term', 'cities'));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 詳細表示
|
||||||
|
public function info($id)
|
||||||
|
{
|
||||||
|
$term = Term::findOrFail($id);
|
||||||
|
return view('admin.terms.info', compact('term'));
|
||||||
|
}
|
||||||
|
|
||||||
|
// 削除処理(複数)
|
||||||
|
public function delete(Request $request)
|
||||||
|
{
|
||||||
|
$ids = $request->input('id', []); // 修正点:'pk' → 'id'
|
||||||
|
|
||||||
|
if (!empty($ids)) {
|
||||||
|
Term::destroy($ids);
|
||||||
|
return redirect()->route('terms')->with('success', '削除しました');
|
||||||
|
}
|
||||||
|
|
||||||
|
return redirect()->route('terms')->with('error', '削除対象が見つかりません');
|
||||||
|
}
|
||||||
|
|
||||||
|
// CSVインポート(仮)
|
||||||
|
public function import(Request $request)
|
||||||
|
{
|
||||||
|
return redirect()->route('terms')->with('info', 'CSVインポートは未実装です');
|
||||||
|
}
|
||||||
|
|
||||||
|
// CSVエクスポート(fputcsv使用)
|
||||||
|
public function export()
|
||||||
|
{
|
||||||
|
return response()->streamDownload(function () {
|
||||||
|
$handle = fopen('php://output', 'w');
|
||||||
|
fputcsv($handle, ['terms_id', 'terms_revision', 'terms_text', 'start_date', 'use_flag']);
|
||||||
|
|
||||||
|
foreach (Term::all() as $term) {
|
||||||
|
fputcsv($handle, [
|
||||||
|
$term->terms_id,
|
||||||
|
$term->terms_revision,
|
||||||
|
$term->terms_text,
|
||||||
|
$term->start_date,
|
||||||
|
$term->use_flag,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
fclose($handle);
|
||||||
|
}, 'terms.csv');
|
||||||
|
}
|
||||||
|
}
|
||||||
83
app/Models/ContractAllowableCity.php
Normal file
83
app/Models/ContractAllowableCity.php
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
use App\Utils;
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class ContractAllowableCity extends Model
|
||||||
|
{
|
||||||
|
const CREATED_AT = 'created_at';
|
||||||
|
const UPDATED_AT = 'updated_at';
|
||||||
|
const PERPAGE = 50;
|
||||||
|
|
||||||
|
protected $table = 'contract_allowable_city';
|
||||||
|
protected $primaryKey = 'contract_allowable_city_id';
|
||||||
|
|
||||||
|
protected $fillable = [
|
||||||
|
'city_id',
|
||||||
|
'contract_allowable_city_name',
|
||||||
|
'park_id',
|
||||||
|
'same_district_flag',
|
||||||
|
'operator_id'
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 一覧検索・ソート処理
|
||||||
|
*/
|
||||||
|
public static function search($inputs)
|
||||||
|
{
|
||||||
|
$list = self::query();
|
||||||
|
|
||||||
|
if ($inputs['isMethodPost'] ?? false) {
|
||||||
|
if (!empty($inputs['contract_allowable_city_id'])) {
|
||||||
|
$list->where('contract_allowable_city_id', $inputs['contract_allowable_city_id']);
|
||||||
|
}
|
||||||
|
if (!empty($inputs['city_id'])) {
|
||||||
|
$list->where('city_id', $inputs['city_id']);
|
||||||
|
}
|
||||||
|
if (!empty($inputs['contract_allowable_city_name'])) {
|
||||||
|
$list->where('contract_allowable_city_name', 'like', '%' . $inputs['contract_allowable_city_name'] . '%');
|
||||||
|
}
|
||||||
|
if (!empty($inputs['park_id'])) {
|
||||||
|
$list->where('park_id', $inputs['park_id']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 並び順
|
||||||
|
if (!empty($inputs['sort'])) {
|
||||||
|
$list->orderBy($inputs['sort'], $inputs['sort_type'] ?? 'asc');
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($inputs['isExport'] ?? false) {
|
||||||
|
return $list->get();
|
||||||
|
} else {
|
||||||
|
return $list->paginate(Utils::item_per_page);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主キーで取得
|
||||||
|
*/
|
||||||
|
public static function getByPk($pk)
|
||||||
|
{
|
||||||
|
return self::find($pk);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主キー配列で一括削除
|
||||||
|
*/
|
||||||
|
public static function deleteByPk($arr)
|
||||||
|
{
|
||||||
|
return self::whereIn('contract_allowable_city_id', $arr)->delete();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 選択リスト取得用(フォーム等)
|
||||||
|
*/
|
||||||
|
public static function getList()
|
||||||
|
{
|
||||||
|
return self::pluck('contract_allowable_city_name', 'contract_allowable_city_id');
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -4,80 +4,41 @@ namespace App\Models;
|
|||||||
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
/**
|
|
||||||
* デバイスモデル - deviceテーブル
|
|
||||||
*
|
|
||||||
* ハードウェアデバイス(印刷機等)の情報を管理するモデル
|
|
||||||
* batch_logテーブルとの関連でバッチ処理ログに使用される
|
|
||||||
*/
|
|
||||||
class Device extends Model
|
class Device extends Model
|
||||||
{
|
{
|
||||||
protected $table = 'device';
|
protected $table = 'device';
|
||||||
protected $primaryKey = 'device_id';
|
protected $primaryKey = 'device_id';
|
||||||
public $timestamps = true;
|
public $incrementing = true;
|
||||||
|
protected $keyType = 'int';
|
||||||
const CREATED_AT = 'created_at';
|
|
||||||
const UPDATED_AT = 'updated_at';
|
|
||||||
|
|
||||||
protected $fillable = [
|
protected $fillable = [
|
||||||
'park_id', // 駐輪場ID
|
'park_id',
|
||||||
'device_type', // デバイスタイプ
|
'device_type',
|
||||||
'device_subject', // デバイス件名
|
'device_subject',
|
||||||
'device_identifier', // デバイス識別子
|
'device_identifier',
|
||||||
'device_work', // デバイス作業
|
'device_work',
|
||||||
'device_workstart', // 作業開始日
|
'device_workstart',
|
||||||
'device_replace', // 交換日
|
'device_replace',
|
||||||
'device_remarks', // 備考
|
'device_remarks',
|
||||||
'operator_id' // オペレータID
|
'operator_id',
|
||||||
];
|
];
|
||||||
|
|
||||||
protected $casts = [
|
protected $casts = [
|
||||||
|
'park_id' => 'integer',
|
||||||
'device_workstart' => 'date',
|
'device_workstart' => 'date',
|
||||||
'device_replace' => 'date',
|
'device_replace' => 'date',
|
||||||
|
'operator_id' => 'integer',
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
|
||||||
* 駐輪場との関連付け
|
|
||||||
*
|
|
||||||
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
|
|
||||||
*/
|
|
||||||
public function park()
|
public function park()
|
||||||
{
|
{
|
||||||
// UsingStatus系は廃止。正式モデル Park を使用。
|
|
||||||
return $this->belongsTo(Park::class, 'park_id', 'park_id');
|
return $this->belongsTo(Park::class, 'park_id', 'park_id');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* バッチログとの関連付け(batch_logテーブル)
|
|
||||||
* 統一BatchLogで管理される
|
|
||||||
*
|
|
||||||
* @return \Illuminate\Database\Query\Builder
|
|
||||||
*/
|
|
||||||
public function batchLogs()
|
|
||||||
{
|
|
||||||
return \DB::table('batch_log')
|
|
||||||
->where('parameters->device_id', $this->device_id);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
public static function getList(): array
|
||||||
* デバイスIDの存在確認
|
|
||||||
*
|
|
||||||
* @param int $deviceId デバイスID
|
|
||||||
* @return bool 存在するかどうか
|
|
||||||
*/
|
|
||||||
public static function exists(int $deviceId): bool
|
|
||||||
{
|
{
|
||||||
return self::where('device_id', $deviceId)->exists();
|
return static::orderBy('device_subject')->pluck('device_subject', 'device_id')->toArray();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
/**
|
|
||||||
* デバイス情報を取得
|
|
||||||
*
|
|
||||||
* @param int $deviceId デバイスID
|
|
||||||
* @return Device|null デバイス情報
|
|
||||||
*/
|
|
||||||
public static function findByDeviceId(int $deviceId): ?Device
|
|
||||||
{
|
|
||||||
return self::where('device_id', $deviceId)->first();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
40
app/Models/JurisdictionParking.php
Normal file
40
app/Models/JurisdictionParking.php
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class JurisdictionParking extends Model
|
||||||
|
{
|
||||||
|
// テーブル名を複数形に統一
|
||||||
|
protected $table = 'jurisdiction_parking';
|
||||||
|
|
||||||
|
// 主キー
|
||||||
|
protected $primaryKey = 'jurisdiction_parking_id';
|
||||||
|
|
||||||
|
// 可変項目
|
||||||
|
protected $fillable = [
|
||||||
|
'jurisdiction_parking_name',
|
||||||
|
'ope_id',
|
||||||
|
'park_id',
|
||||||
|
'operator_id',
|
||||||
|
];
|
||||||
|
|
||||||
|
public $timestamps = true;
|
||||||
|
|
||||||
|
// リレーション
|
||||||
|
public function operator()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(User::class, 'operator_id');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function park()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(Park::class, 'park_id');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function ope()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(Ope::class, 'ope_id');
|
||||||
|
}
|
||||||
|
}
|
||||||
60
app/Models/Manager.php
Normal file
60
app/Models/Manager.php
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class Manager extends Model
|
||||||
|
{
|
||||||
|
protected $table = 'manager';
|
||||||
|
protected $primaryKey = 'manager_id';
|
||||||
|
public $incrementing = true;
|
||||||
|
protected $keyType = 'int';
|
||||||
|
|
||||||
|
// timestamps は created_at / updated_at があるのでデフォルト true のまま
|
||||||
|
|
||||||
|
protected $fillable = [
|
||||||
|
'manager_name',
|
||||||
|
'manager_type',
|
||||||
|
'manager_parkid',
|
||||||
|
'manager_device1',
|
||||||
|
'manager_device2',
|
||||||
|
'manager_mail',
|
||||||
|
'manager_tel',
|
||||||
|
'manager_alert1',
|
||||||
|
'manager_alert2',
|
||||||
|
'manager_quit_flag',
|
||||||
|
'manager_quitday',
|
||||||
|
'operator_id',
|
||||||
|
];
|
||||||
|
|
||||||
|
protected $casts = [
|
||||||
|
'manager_parkid' => 'integer',
|
||||||
|
'manager_device1' => 'integer',
|
||||||
|
'manager_device2' => 'integer',
|
||||||
|
'manager_alert1' => 'boolean',
|
||||||
|
'manager_alert2' => 'boolean',
|
||||||
|
'manager_quit_flag' => 'boolean',
|
||||||
|
'manager_quitday' => 'date',
|
||||||
|
'operator_id' => 'integer',
|
||||||
|
];
|
||||||
|
|
||||||
|
// --- リレーション(テーブル名は既存に合わせて調整してください)
|
||||||
|
public function park() { return $this->belongsTo(Park::class, 'manager_parkid', 'park_id'); }
|
||||||
|
public function device1() { return $this->belongsTo(Device::class, 'manager_device1', 'device_id'); }
|
||||||
|
public function device2() { return $this->belongsTo(Device::class, 'manager_device2', 'device_id'); }
|
||||||
|
|
||||||
|
// Blade 互換のヘルパ(list.blade.php で getXxx() を呼んでいるため)
|
||||||
|
public function getPark() { return $this->park; }
|
||||||
|
public function getDevice1() { return $this->device1; }
|
||||||
|
public function getDevice2() { return $this->device2; }
|
||||||
|
|
||||||
|
public function getManagerQuitFlagDisplay()
|
||||||
|
{
|
||||||
|
return $this->manager_quit_flag ? '退職' : '在職';
|
||||||
|
}
|
||||||
|
public function getManagerQuitFlagDisplayAttribute()
|
||||||
|
{
|
||||||
|
return $this->getManagerQuitFlagDisplay();
|
||||||
|
}
|
||||||
|
}
|
||||||
25
app/Models/NeighborStation.php
Normal file
25
app/Models/NeighborStation.php
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class NeighborStation extends Model
|
||||||
|
{
|
||||||
|
// テーブル名を指定
|
||||||
|
protected $table = 'station';
|
||||||
|
|
||||||
|
// 主キーを指定
|
||||||
|
protected $primaryKey = 'station_id';
|
||||||
|
|
||||||
|
// ホワイトリスト
|
||||||
|
protected $fillable = [
|
||||||
|
'park_id',
|
||||||
|
'station_neighbor_station',
|
||||||
|
'station_name_ruby',
|
||||||
|
'station_route_name',
|
||||||
|
'operator_id',
|
||||||
|
];
|
||||||
|
|
||||||
|
// タイムスタンプのカラム名がデフォルトと同じなので、特に設定不要
|
||||||
|
}
|
||||||
40
app/Models/Payment.php
Normal file
40
app/Models/Payment.php
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class Payment extends Model
|
||||||
|
{
|
||||||
|
|
||||||
|
protected $table = 'payment';
|
||||||
|
|
||||||
|
|
||||||
|
protected $primaryKey = 'payment_id';
|
||||||
|
public $incrementing = true;
|
||||||
|
protected $keyType = 'int';
|
||||||
|
|
||||||
|
public $timestamps = true;
|
||||||
|
|
||||||
|
|
||||||
|
protected $fillable = [
|
||||||
|
'payment_companyname',
|
||||||
|
'payment_add',
|
||||||
|
'payment_detail',
|
||||||
|
'payment_space1',
|
||||||
|
'payment_space2',
|
||||||
|
'payment_title',
|
||||||
|
'payment_guide',
|
||||||
|
'payment_inquiryname',
|
||||||
|
'payment_inquirytel',
|
||||||
|
'payment_time',
|
||||||
|
'operator_id',
|
||||||
|
];
|
||||||
|
|
||||||
|
protected $casts = [
|
||||||
|
'payment_id' => 'integer',
|
||||||
|
'operator_id' => 'integer',
|
||||||
|
'created_at' => 'datetime',
|
||||||
|
'updated_at' => 'datetime',
|
||||||
|
];
|
||||||
|
}
|
||||||
30
app/Models/PrintArea.php
Normal file
30
app/Models/PrintArea.php
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class PrintArea extends Model
|
||||||
|
{
|
||||||
|
// テーブル名を指定(必要に応じて)
|
||||||
|
protected $table = 'print_area';
|
||||||
|
|
||||||
|
// 主キー
|
||||||
|
protected $primaryKey = 'print_area_id';
|
||||||
|
|
||||||
|
// タイムスタンプ自動更新
|
||||||
|
public $timestamps = true;
|
||||||
|
|
||||||
|
// 複数代入可能なフィールド
|
||||||
|
protected $fillable = [
|
||||||
|
'print_area_name',
|
||||||
|
'park_id',
|
||||||
|
'operator_id',
|
||||||
|
];
|
||||||
|
|
||||||
|
// 駐輪場マスタとのリレーション
|
||||||
|
public function park()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(Park::class, 'park_id');
|
||||||
|
}
|
||||||
|
}
|
||||||
77
app/Models/RegularType.php
Normal file
77
app/Models/RegularType.php
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
use App\Models\City;
|
||||||
|
use App\Utils;
|
||||||
|
|
||||||
|
class RegularType extends Model
|
||||||
|
{
|
||||||
|
const CREATED_AT = 'created_at';
|
||||||
|
const UPDATED_AT = 'updated_at';
|
||||||
|
|
||||||
|
const RegularClass = [
|
||||||
|
'有効',
|
||||||
|
'無効',
|
||||||
|
];
|
||||||
|
|
||||||
|
protected $table = 'regular_type';
|
||||||
|
protected $primaryKey = 'regular_type_id';
|
||||||
|
|
||||||
|
protected $fillable = [
|
||||||
|
'regular_type_id',
|
||||||
|
'city_id',
|
||||||
|
'regular_class_1',
|
||||||
|
'regular_class_2',
|
||||||
|
'regular_class_3',
|
||||||
|
'regular_class_6',
|
||||||
|
'regular_class_12',
|
||||||
|
'memo',
|
||||||
|
];
|
||||||
|
|
||||||
|
public static function boot()
|
||||||
|
{
|
||||||
|
parent::boot();
|
||||||
|
self::creating(function (RegularType $model) {
|
||||||
|
$model->operator_id = Auth::user()->ope_id;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function search($inputs)
|
||||||
|
{
|
||||||
|
$list = self::query();
|
||||||
|
|
||||||
|
if ($inputs['isMethodPost']) {
|
||||||
|
// 検索条件
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($inputs['sort']) {
|
||||||
|
$list->orderBy($inputs['sort'], $inputs['sort_type']);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($inputs['isExport']) {
|
||||||
|
$list = $list->get();
|
||||||
|
} else {
|
||||||
|
$list = $list->paginate(Utils::item_per_page);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $list;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function getByPk($pk)
|
||||||
|
{
|
||||||
|
return self::find($pk);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function deleteByPk($arr)
|
||||||
|
{
|
||||||
|
return self::whereIn('regular_type_id', $arr)->delete();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCity()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(City::class, 'city_id', 'city_id')->first();
|
||||||
|
}
|
||||||
|
}
|
||||||
49
app/Models/Setting.php
Normal file
49
app/Models/Setting.php
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class Setting extends Model
|
||||||
|
{
|
||||||
|
// 対応するテーブル名
|
||||||
|
protected $table = 'setting';
|
||||||
|
|
||||||
|
// 主キー
|
||||||
|
protected $primaryKey = 'setting_id';
|
||||||
|
|
||||||
|
// 主キーは自動増分
|
||||||
|
public $incrementing = true;
|
||||||
|
|
||||||
|
// 主キーの型
|
||||||
|
protected $keyType = 'int';
|
||||||
|
|
||||||
|
// 一括代入可能なカラム
|
||||||
|
protected $fillable = [
|
||||||
|
'edit_master', // 編集マスタ
|
||||||
|
'web_master', // ウェブ参照マスタ
|
||||||
|
'auto_change_date', // ウェブ参照マスタ自動切り替え日時
|
||||||
|
'auto_chage_master', // 自動切換えウェブ参照マスタ(※DB定義のままchage)
|
||||||
|
're_issue_alert_number', // 再発行アラート回数
|
||||||
|
'image_base_url1', // ニュースイメージURLベース名
|
||||||
|
'image_base_url2', // 本人確認写真URLベース名
|
||||||
|
'printable_alert_flag', // プリンタ印字残警告フラグ
|
||||||
|
'printable_number', // プリンタロール紙印字可能数
|
||||||
|
'printable_alert_number', // プリンタロール紙印字残警告数
|
||||||
|
'printer_keep_alive', // プリンタ制御プログラムキープアライブ間隔(分)
|
||||||
|
'operator_id', // 更新オペレータID
|
||||||
|
];
|
||||||
|
|
||||||
|
// キャスト(型変換)
|
||||||
|
protected $casts = [
|
||||||
|
'auto_change_date' => 'datetime', // 日時
|
||||||
|
're_issue_alert_number' => 'integer', // 整数
|
||||||
|
'printable_alert_flag' => 'boolean', // 真偽値
|
||||||
|
'printable_number' => 'integer', // 整数
|
||||||
|
'printable_alert_number' => 'integer', // 整数
|
||||||
|
'printer_keep_alive' => 'integer', // 整数
|
||||||
|
'operator_id' => 'integer', // 整数
|
||||||
|
'created_at' => 'datetime', // 作成日時
|
||||||
|
'updated_at' => 'datetime', // 更新日時
|
||||||
|
];
|
||||||
|
}
|
||||||
27
app/Models/SettlementTransaction.php
Normal file
27
app/Models/SettlementTransaction.php
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class SettlementTransaction extends Model
|
||||||
|
{
|
||||||
|
protected $table = 'settlement_transaction';
|
||||||
|
protected $primaryKey = 'settlement_transaction_id';
|
||||||
|
public $timestamps = true;
|
||||||
|
|
||||||
|
protected $fillable = [
|
||||||
|
'contract_id',
|
||||||
|
'status',
|
||||||
|
'pay_code',
|
||||||
|
'contract_payment_number',
|
||||||
|
'corp_code',
|
||||||
|
'mms_date',
|
||||||
|
'cvs_code',
|
||||||
|
'shop_code',
|
||||||
|
'pay_date',
|
||||||
|
'settlement_amount',
|
||||||
|
'stamp_flag',
|
||||||
|
'md5_string',
|
||||||
|
];
|
||||||
|
}
|
||||||
38
app/Models/Tax.php
Normal file
38
app/Models/Tax.php
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class Tax extends Model
|
||||||
|
{
|
||||||
|
use HasFactory;
|
||||||
|
|
||||||
|
// テーブル名
|
||||||
|
protected $table = 'tax';
|
||||||
|
|
||||||
|
// 主キー
|
||||||
|
protected $primaryKey = 'tax_id';
|
||||||
|
|
||||||
|
// 主キーが自動増分
|
||||||
|
public $incrementing = true;
|
||||||
|
|
||||||
|
// 主キーの型
|
||||||
|
protected $keyType = 'int';
|
||||||
|
|
||||||
|
// Laravel の自動タイムスタンプ
|
||||||
|
public $timestamps = true;
|
||||||
|
|
||||||
|
// 更新可能なカラム
|
||||||
|
protected $fillable = [
|
||||||
|
'tax_percent', // 消費税率
|
||||||
|
'tax_day', // 適用日
|
||||||
|
'operator_id', // オペレーターID
|
||||||
|
];
|
||||||
|
|
||||||
|
// キャスト(型変換)
|
||||||
|
protected $casts = [
|
||||||
|
'tax_day' => 'date',
|
||||||
|
];
|
||||||
|
}
|
||||||
37
app/Models/Term.php
Normal file
37
app/Models/Term.php
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class Term extends Model
|
||||||
|
{
|
||||||
|
protected $table = 'terms'; // テーブル名
|
||||||
|
|
||||||
|
protected $primaryKey = 'terms_id'; // 主キー
|
||||||
|
|
||||||
|
public $timestamps = true; // created_at / updated_at
|
||||||
|
|
||||||
|
protected $fillable = [
|
||||||
|
'city_id',
|
||||||
|
'use_flag',
|
||||||
|
'terms_revision',
|
||||||
|
'terms_text',
|
||||||
|
'memo',
|
||||||
|
'start_date',
|
||||||
|
'operator_id',
|
||||||
|
];
|
||||||
|
|
||||||
|
protected $casts = [
|
||||||
|
'start_date' => 'date',
|
||||||
|
'use_flag' => 'boolean',
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 利用規約のリストを取得
|
||||||
|
*/
|
||||||
|
public static function getList()
|
||||||
|
{
|
||||||
|
return self::all();
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,94 @@
|
|||||||
|
@php
|
||||||
|
$isEdit = $mode === 'edit';
|
||||||
|
$isInfo = $mode === 'info';
|
||||||
|
@endphp
|
||||||
|
|
||||||
|
@if($isEdit || $isInfo)
|
||||||
|
<!-- 契約許容市区ID -->
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('validation.attributes.contract_allowable_city_id') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<input type="text" class="form-control form-control-lg" readonly
|
||||||
|
value="{{ $record->contract_allowable_city_id ?? '' }}">
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
<!-- 市区ID -->
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label @if(!$isInfo) class="required" @endif>{{ __('validation.attributes.city_id') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<select class="form-control form-control-lg" name="city_id" @if($isInfo) disabled @endif>
|
||||||
|
<option value="">{{ __('validation.attributes.city_id') }}</option>
|
||||||
|
@foreach($cityList as $key => $item)
|
||||||
|
<option value="{{ $key }}" @if($key == old('city_id', $record->city_id ?? '')) selected @endif>{{ $item }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 許容市区名 -->
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label @if(!$isInfo) class="required" @endif>{{ __('validation.attributes.contract_allowable_city_name') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<input type="text" class="form-control form-control-lg"
|
||||||
|
name="contract_allowable_city_name"
|
||||||
|
value="{{ old('contract_allowable_city_name', $record->contract_allowable_city_name ?? '') }}"
|
||||||
|
placeholder="{{ __('validation.attributes.contract_allowable_city_name') }}"
|
||||||
|
@if($isInfo) readonly @endif>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 駐輪場 -->
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label @if(!$isInfo) class="required" @endif>{{ __('validation.attributes.park_id') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<select class="form-control form-control-lg" name="park_id" @if($isInfo) disabled @endif>
|
||||||
|
<option value="">{{ __('validation.attributes.park_id') }}</option>
|
||||||
|
@foreach($parkList as $key => $item)
|
||||||
|
<option value="{{ $key }}" @if($key == old('park_id', $record->park_id ?? '')) selected @endif>{{ $item }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 隣接区フラグ -->
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label @if(!$isInfo) class="required" @endif>{{ __('validation.attributes.same_district_flag') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<select class="form-control form-control-lg" name="same_district_flag" @if($isInfo) disabled @endif>
|
||||||
|
<option value="">{{ __('validation.attributes.same_district_flag') }}</option>
|
||||||
|
<option value="0" @if(old('same_district_flag', $record->same_district_flag ?? '') == 0) selected @endif>隣接市</option>
|
||||||
|
<option value="1" @if(old('same_district_flag', $record->same_district_flag ?? '') == 1) selected @endif>その他</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@if($isInfo)
|
||||||
|
<!-- 更新オペレータ -->
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('validation.attributes.operator_id') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<input type="text" class="form-control form-control-lg" readonly
|
||||||
|
value="{{ $record->operator_id ?? '' }}">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 登録日時 -->
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('validation.attributes.created_at') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<input type="text" class="form-control form-control-lg" readonly
|
||||||
|
value="{{ $record->created_at ?? '' }}">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 更新日時 -->
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('validation.attributes.updated_at') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<input type="text" class="form-control form-control-lg" readonly
|
||||||
|
value="{{ $record->updated_at ?? '' }}">
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
103
resources/views/admin/contract_allowable_cities/add.blade.php
Normal file
103
resources/views/admin/contract_allowable_cities/add.blade.php
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
@extends('layouts.app')
|
||||||
|
@section('title', '契約許容市区マスタ(新規)')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<div class="content-header">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row mb-2">
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<h1 class="m-0 text-dark">新規</h1>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<ol class="breadcrumb float-sm-right text-sm">
|
||||||
|
<li class="breadcrumb-item"><a href="{{ route('home') }}">ホーム</a></li>
|
||||||
|
<li class="breadcrumb-item"><a href="{{ route('contract_allowable_cities') }}">契約許容市区マスタ</a></li>
|
||||||
|
<li class="breadcrumb-item active">新規</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<form action="{{ route('contract_allowable_cities_add') }}" method="POST" id="form_main">
|
||||||
|
@csrf
|
||||||
|
<div class="card p-4">
|
||||||
|
|
||||||
|
{{-- 上部登録ボタン --}}
|
||||||
|
<div class="mb-3">
|
||||||
|
<button type="submit" class="btn btn-success btn-lg" onclick="return confirm('登録してよろしいですか?')">登録</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="border-top my-3"></div>
|
||||||
|
|
||||||
|
{{-- 契約許容市区マスタID --}}
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">契約許容市区マスタID<span class="text-danger">*</span></label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<select name="contract_allowable_city_id" class="form-control" required>
|
||||||
|
<option value="">選択してください</option>
|
||||||
|
@foreach($contractAllowableCityList as $id => $name)
|
||||||
|
<option value="{{ $id }}" {{ old('contract_allowable_city_id', $record->contract_allowable_city_id ?? '') == $id ? 'selected' : '' }}>{{ $name }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 市区ID --}}
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">市区ID<span class="text-danger">*</span></label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<select name="city_id" class="form-control" required>
|
||||||
|
<option value="">選択してください</option>
|
||||||
|
@foreach($cityList as $id => $name)
|
||||||
|
<option value="{{ $id }}" {{ old('city_id') == $id ? 'selected' : '' }}>{{ $id }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 許容市区名 --}}
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">許容市区名<span class="text-danger">*</span></label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<input type="text" name="contract_allowable_city_name" class="form-control" value="{{ old('contract_allowable_city_name') }}" placeholder="許容市区名を入力">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 駐輪場ID --}}
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">駐輪場ID<span class="text-danger">*</span></label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<select name="park_id" class="form-control" required>
|
||||||
|
<option value="">選択してください</option>
|
||||||
|
@foreach($parkList as $id => $name)
|
||||||
|
<option value="{{ $id }}" {{ old('park_id') == $id ? 'selected' : '' }}>{{ $name }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 隣接区フラグ --}}
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">隣接区フラグ<span class="text-danger">*</span></label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<select name="same_district_flag" class="form-control" required>
|
||||||
|
<option value="">選択してください</option>
|
||||||
|
<option value="0" {{ old('same_district_flag') == '0' ? 'selected' : '' }}>同一区</option>
|
||||||
|
<option value="1" {{ old('same_district_flag') == '1' ? 'selected' : '' }}>隣接区</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 下部登録ボタン --}}
|
||||||
|
<div class="mb-3">
|
||||||
|
<button type="submit" class="btn btn-success btn-lg" onclick="return confirm('登録してよろしいですか?')">登録</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
@endsection
|
||||||
@ -0,0 +1,90 @@
|
|||||||
|
@extends('layouts.app')
|
||||||
|
@section('title', '契約許容市区マスタ - 編集')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<div class="content-header">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row mb-2">
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<h1 class="m-0 text-dark">編集</h1>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<ol class="breadcrumb float-sm-right text-sm">
|
||||||
|
<li class="breadcrumb-item"><a href="{{ route('home') }}">ホーム</a></li>
|
||||||
|
<li class="breadcrumb-item"><a href="{{ route('contract_allowable_cities') }}">契約許容市区マスタ</a></li>
|
||||||
|
<li class="breadcrumb-item active">編集</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<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]) }}">
|
||||||
|
@csrf
|
||||||
|
<div class="card p-4">
|
||||||
|
{{-- 契約許容市区マスタID --}}
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">契約許容市区マスタID<span class="text-danger">*</span></label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<input type="text" class="form-control" value="{{ $record->contract_allowable_city_id }}" readonly>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 市区ID --}}
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">市区ID<span class="text-danger">*</span></label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<select name="city_id" class="form-control" required>
|
||||||
|
<option value="">選択してください</option>
|
||||||
|
@foreach($cities as $id => $name)
|
||||||
|
<option value="{{ $id }}" {{ old('city_id', $record->city_id) == $id ? 'selected' : '' }}>{{ $id }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 許容市区名 --}}
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">許容市区名 <span class="text-danger">*</span></label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<input type="text" name="contract_allowable_city_name" class="form-control" value="{{ old('contract_allowable_city_name', $record->contract_allowable_city_name) }}" maxlength="20" required>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 駐輪場 --}}
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">駐輪場所ID <span class="text-danger">*</span></label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<select name="park_id" class="form-control" required>
|
||||||
|
<option value="">選択してください</option>
|
||||||
|
@foreach($parks as $id => $name)
|
||||||
|
<option value="{{ $id }}" {{ old('park_id', $record->park_id) == $id ? 'selected' : '' }}>{{ $name }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 隣接区フラグ --}}
|
||||||
|
<div class="row mb-4">
|
||||||
|
<label class="col-md-2 col-form-label">隣接区フラグ <span class="text-danger">*</span></label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<select name="same_district_flag" class="form-control" required>
|
||||||
|
<option value="">選択してください</option>
|
||||||
|
<option value="0" {{ old('same_district_flag', $record->same_district_flag) == '0' ? 'selected' : '' }}>0:隣接市</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- ボタンエリア --}}
|
||||||
|
<div class="text-left">
|
||||||
|
<button type="submit" class="btn btn-success px-3">登録</button>
|
||||||
|
<a href="{{ route('contract_allowable_cities') }}" class="btn btn-secondary px-3">戻る</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
@endsection
|
||||||
@ -0,0 +1,36 @@
|
|||||||
|
@extends('layouts.app')
|
||||||
|
@section('title', '[東京都|〇〇駐輪場] 契約許容市区マスタ(詳細)')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<!-- Content Header -->
|
||||||
|
<div class="content-header">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row mb-2">
|
||||||
|
<div class="col-lg-6">
|
||||||
|
<h1 class="m-0 text-dark">[東京都|〇〇駐輪場] 契約許容市区マスタ(詳細)</h1>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6">
|
||||||
|
<ol class="breadcrumb float-sm-right text-sm">
|
||||||
|
<li class="breadcrumb-item"><a href="{{ route('home') }}">ホーム</a></li>
|
||||||
|
<li class="breadcrumb-item"><a href="{{ route('contract_allowable_cities') }}">契約許容市区マスタ</a></li>
|
||||||
|
<li class="breadcrumb-item active">詳細</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Readonly Info View -->
|
||||||
|
<div class="form-row">
|
||||||
|
@php
|
||||||
|
$isEdit = false;
|
||||||
|
$isInfo = true;
|
||||||
|
@endphp
|
||||||
|
@include('admin.contract_allowable_cities._form')
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Buttons -->
|
||||||
|
<div class="mt-4">
|
||||||
|
<a href="{{ route('contract_allowable_cities') }}" class="btn btn-secondary">戻る</a>
|
||||||
|
</div>
|
||||||
|
@endsection
|
||||||
191
resources/views/admin/contract_allowable_cities/list.blade.php
Normal file
191
resources/views/admin/contract_allowable_cities/list.blade.php
Normal file
@ -0,0 +1,191 @@
|
|||||||
|
@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')}}">ホーム</a></li>
|
||||||
|
<li class="breadcrumb-item"><a href="#">[東京都|〇〇駐輪場]</a></li>
|
||||||
|
<li class="breadcrumb-item active">契約許容市区マスタ</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
<!-- 検索条件 -->
|
||||||
|
<div class="col-lg-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header"><h3 class="card-title">絞り込み</h3></div>
|
||||||
|
<div class="card-body">
|
||||||
|
<form action="{{ route('contract_allowable_cities') }}" method="post" id="list-form">
|
||||||
|
@csrf
|
||||||
|
<input type="hidden" name="sort" id="sort" value="{{ $sort ?? '' }}">
|
||||||
|
<input type="hidden" name="sort_type" id="sort_type" value="{{ $sort_type ?? '' }}">
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>契約許容市区ID</label>
|
||||||
|
<input type="text" name="contract_allowable_city_id" class="form-control"
|
||||||
|
value="{{ $inputs['contract_allowable_city_id'] ?? '' }}">
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>市区ID</label>
|
||||||
|
<select name="city_id" class="form-control">
|
||||||
|
<option value="">--</option>
|
||||||
|
@foreach($cityList as $id => $name)
|
||||||
|
<option value="{{ $id }}" @if(($inputs['city_id'] ?? '') == $id) selected @endif>{{ $name }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>許容市区名</label>
|
||||||
|
<input type="text" name="contract_allowable_city_name" class="form-control"
|
||||||
|
value="{{ $inputs['contract_allowable_city_name'] ?? '' }}">
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>駐輪場ID</label>
|
||||||
|
<select name="park_id" class="form-control">
|
||||||
|
<option value="">--</option>
|
||||||
|
@foreach($parkList as $id => $name)
|
||||||
|
<option value="{{ $id }}" @if(($inputs['park_id'] ?? '') == $id) selected @endif>{{ $name }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group col-12 text-left">
|
||||||
|
<button type="submit" name="action" value="filter" class="btn btn-default">絞り込み</button>
|
||||||
|
<button type="submit" name="action" value="unlink" class="btn btn-default">解除</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- ボタン・ページネーション -->
|
||||||
|
<div class="container-fluid mb20">
|
||||||
|
<button type="button" class="btn btn-sm btn-default mr10" onclick="location.href='{{ route('contract_allowable_cities_add') }}'">新規</button>
|
||||||
|
<button type="button" class="btn btn-sm btn-default mr10" id="delete">削除</button>
|
||||||
|
<button type="button" class="btn btn-sm btn-default mr10" id="export_csv"
|
||||||
|
action="{{ route('contract_allowable_cities_export') }}">CSV出力</button>
|
||||||
|
{{ $list->appends(['sort' => $sort,'sort_type'=>$sort_type])->links('pagination') }}
|
||||||
|
</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">
|
||||||
|
<form method="post" action="{{ route('contract_allowable_cities_delete') }}" 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>
|
||||||
|
<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>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</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>
|
||||||
|
$(document).ready(function () {
|
||||||
|
// 並び替え
|
||||||
|
$('.sorting').click(function () {
|
||||||
|
var sortColumn = $(this).attr('sort');
|
||||||
|
var currentSortType = $('#sort_type').val();
|
||||||
|
var newSortType = (sortColumn === $('#sort').val() && currentSortType === 'asc') ? 'desc' : 'asc';
|
||||||
|
$('#sort').val(sortColumn);
|
||||||
|
$('#sort_type').val(newSortType);
|
||||||
|
$('#list-form').submit();
|
||||||
|
});
|
||||||
|
|
||||||
|
// 全選択チェック
|
||||||
|
$('#checkbox_all').change(function () {
|
||||||
|
$('.checkbox').prop('checked', this.checked);
|
||||||
|
});
|
||||||
|
|
||||||
|
// 削除ボタン
|
||||||
|
$('#delete').click(function () {
|
||||||
|
if ($('.checkbox:checked').length === 0) {
|
||||||
|
alert('削除する項目を選択してください。');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (confirm('選択された項目を削除しますか?')) {
|
||||||
|
$('#form_delete').submit();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// CSV出力
|
||||||
|
$('#export_csv').click(function () {
|
||||||
|
var action = $(this).attr('action');
|
||||||
|
var form = $('#list-form');
|
||||||
|
var originalAction = form.attr('action');
|
||||||
|
form.attr('action', action);
|
||||||
|
form.find('[name="isExport"]').remove();
|
||||||
|
form.append('<input type="hidden" name="isExport" value="1">');
|
||||||
|
form.submit();
|
||||||
|
form.attr('action', originalAction);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
@endsection
|
||||||
181
resources/views/admin/devices/_form.blade.php
Normal file
181
resources/views/admin/devices/_form.blade.php
Normal file
@ -0,0 +1,181 @@
|
|||||||
|
{{-- アラート --}}
|
||||||
|
@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 class="card-header">
|
||||||
|
@if(!empty($isInfo) && !empty($device?->device_id))
|
||||||
|
<a href="{{ route('devices_add') }}" class="btn btn-lg btn-success">{{ __('登録') }}</a>
|
||||||
|
<a href="{{ route('devices_edit', ['id' => $device->device_id]) }}" class="btn btn-lg btn-danger">{{ __('編集') }}</a>
|
||||||
|
@else
|
||||||
|
<button type="submit" class="btn btn-lg btn-danger register">{{ __('保存') }}</button>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
@if(!empty($isInfo) || !empty($isEdit))
|
||||||
|
{{-- デバイスID --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('デバイスID') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text"
|
||||||
|
value="{{ $device->device_id ?? '' }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
readonly/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
{{-- 駐輪場ID --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('駐輪場ID') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="number"
|
||||||
|
name="park_id"
|
||||||
|
value="{{ old('park_id', $device->park_id ?? '') }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
@if(!empty($isInfo)) readonly @else placeholder="{{ __('validation.attributes.park_id') }}" @endif>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- デバイス種別 --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label class="required">{{ __('デバイス種別') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text"
|
||||||
|
name="device_type"
|
||||||
|
value="{{ old('device_type', $device->device_type ?? '') }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
@if(!empty($isInfo)) readonly @else placeholder="{{ __('validation.attributes.device_type') }}" @endif>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- デバイス名 --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label class="required">{{ __('デバイス名') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text"
|
||||||
|
name="device_subject"
|
||||||
|
value="{{ old('device_subject', $device->device_subject ?? '') }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
@if(!empty($isInfo)) readonly @else placeholder="{{ __('validation.attributes.device_subject') }}" @endif>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 識別子 --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('識別子') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text"
|
||||||
|
name="device_identifier"
|
||||||
|
value="{{ old('device_identifier', $device->device_identifier ?? '') }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
@if(!empty($isInfo)) readonly @else placeholder="{{ __('validation.attributes.device_identifier') }}" @endif>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 稼働/停止 --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('稼働/停止') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<div class="row">
|
||||||
|
@php $work = old('device_work', $device->device_work ?? ''); @endphp
|
||||||
|
<div class="col-3 offset-1 form-check">
|
||||||
|
<input type="radio" class="minimal" name="device_work" value="稼働"
|
||||||
|
@if(!empty($isInfo)) disabled @endif
|
||||||
|
{{ $work === '稼働' ? 'checked' : '' }}>
|
||||||
|
<label class="form-check-label">{{ __('稼働') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="col-3 form-check">
|
||||||
|
<input type="radio" class="minimal" name="device_work" value="停止"
|
||||||
|
@if(!empty($isInfo)) disabled @endif
|
||||||
|
{{ $work === '停止' ? 'checked' : '' }}>
|
||||||
|
<label class="form-check-label">{{ __('停止') }}</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 稼働開始日 --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('稼働開始日') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="date"
|
||||||
|
name="device_workstart"
|
||||||
|
value="{{ old('device_workstart', optional($device->device_workstart)->toDateString()) }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
@if(!empty($isInfo)) readonly @endif>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- リプレース予約日 --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('リプレース予約日') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="date"
|
||||||
|
name="device_replace"
|
||||||
|
value="{{ old('device_replace', optional($device->device_replace)->toDateString() ?? '') }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
@if(!empty($isInfo)) readonly @endif>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 備考 --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('備考') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text"
|
||||||
|
name="device_remarks"
|
||||||
|
value="{{ old('device_remarks', $device->device_remarks ?? '') }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
maxlength="255"
|
||||||
|
@if(!empty($isInfo)) readonly @else placeholder="{{ __('validation.attributes.device_remarks') }}" @endif>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- ===== ボタン区(下部) ===== --}}
|
||||||
|
<div class="card-header">
|
||||||
|
@if(!empty($isInfo) && !empty($device?->device_id))
|
||||||
|
<a href="{{ route('devices_add') }}" class="btn btn-lg btn-success">{{ __('登録') }}</a>
|
||||||
|
<a href="{{ route('devices_edit', ['id' => $device->device_id]) }}" class="btn btn-lg btn-danger">{{ __('編集') }}</a>
|
||||||
|
@else
|
||||||
|
<button type="submit" class="btn btn-lg btn-danger register">{{ __('保存') }}</button>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
37
resources/views/admin/devices/add.blade.php
Normal file
37
resources/views/admin/devices/add.blade.php
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
@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="./index2.html">XX様info(ホーム)</a></li>
|
||||||
|
<li class="breadcrumb-item"><a href="./index3.html">[東京都|〇〇駐輪場]</a></li>
|
||||||
|
<li class="breadcrumb-item">デバイス管理マスタ</li>
|
||||||
|
<li class="breadcrumb-item active">[東京都|〇〇駐輪場] デバイス管理マスタ</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-12">
|
||||||
|
<div class="card">
|
||||||
|
<form method="post" action="{{ route('devices_add') }}">
|
||||||
|
@csrf
|
||||||
|
@include('admin.devices._form', ['isEdit' => 0, 'isInfo' => 0, 'device' => $device])
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
@endsection
|
||||||
38
resources/views/admin/devices/edit.blade.php
Normal file
38
resources/views/admin/devices/edit.blade.php
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
@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="./index2.html">XX様info(ホーム)</a></li>
|
||||||
|
<li class="breadcrumb-item"><a href="./index3.html">[東京都|〇〇駐輪場]</a></li>
|
||||||
|
<li class="breadcrumb-item">デバイス管理マスタ</li>
|
||||||
|
<li class="breadcrumb-item active">編集</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-12">
|
||||||
|
<div class="card">
|
||||||
|
<form method="post" action="{{ route('devices_edit', ['id' => $device->device_id]) }}" enctype="multipart/form-data">
|
||||||
|
@csrf
|
||||||
|
{{-- 編集モード --}}
|
||||||
|
@include('admin.devices._form', ['isEdit' => 1, 'isInfo' => 0, 'device' => $device])
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
@endsection
|
||||||
35
resources/views/admin/devices/info.blade.php
Normal file
35
resources/views/admin/devices/info.blade.php
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
@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="./index2.html">XX様info(ホーム)</a></li>
|
||||||
|
<li class="breadcrumb-item"><a href="./index3.html">[東京都|〇〇駐輪場]</a></li>
|
||||||
|
<li class="breadcrumb-item">デバイス管理マスタ</li>
|
||||||
|
<li class="breadcrumb-item active">詳細</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-12">
|
||||||
|
<div class="card">
|
||||||
|
{{-- 詳細モード --}}
|
||||||
|
@include('admin.devices._form', ['isEdit' => 0, 'isInfo' => 1, 'device' => $device])
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
@endsection
|
||||||
218
resources/views/admin/devices/list.blade.php
Normal file
218
resources/views/admin/devices/list.blade.php
Normal file
@ -0,0 +1,218 @@
|
|||||||
|
@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>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
|
||||||
|
{{-- ソート用フォーム --}}
|
||||||
|
<form action="{{ route('devices') }}" 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('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>
|
||||||
|
|
||||||
|
{{-- フラッシュ --}}
|
||||||
|
<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('devices_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" 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>
|
||||||
|
</div>
|
||||||
|
</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>
|
||||||
|
|
||||||
|
</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; });
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
@endpush
|
||||||
|
@endsection
|
||||||
@ -1,95 +1,79 @@
|
|||||||
@if(Session::has('success'))
|
@if($isEdit || $isInfo)
|
||||||
<div class="alert alert-success alert-dismissible" role="alert">
|
<!-- 管轄駐輪場ID -->
|
||||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
<div class="form-group col-3">
|
||||||
{{ Session::get('success') }}
|
<label>{{ __('validation.attributes.jurisdiction_parking_id') }}</label>
|
||||||
</div>
|
</div>
|
||||||
@elseif(Session::has('error'))
|
<div class="form-group col-9">
|
||||||
<div class="alert alert-danger alert-dismissible">
|
<input type="text" class="form-control form-control-lg" readonly
|
||||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
value="{{ $record->jurisdiction_parking_id ?? '' }}">
|
||||||
<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>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
<div class="card-header">
|
|
||||||
@if($isInfo)
|
<!-- 管轄名 -->
|
||||||
<a href="{{route('jurisdiction_parking_add')}}" class="btn btn-lg btn-success">{{__('登録')}}</a>
|
<div class="form-group col-3">
|
||||||
<a href="{{route('jurisdiction_parking_edit',['id'=>$jurisdiction_parking_id])}}"
|
<label @if(!$isInfo) class="required" @endif>{{ __('validation.attributes.jurisdiction_parking_name') }}</label>
|
||||||
class="btn btn-lg btn-danger">{{__('編集')}}</a>
|
</div>
|
||||||
@else
|
<div class="form-group col-9">
|
||||||
<button type="submit" class="btn btn-lg btn-danger register" >{{__('保存')}}</button>
|
<input type="text" class="form-control form-control-lg"
|
||||||
@endIf
|
name="jurisdiction_parking_name"
|
||||||
|
value="{{ old('jurisdiction_parking_name', $record->jurisdiction_parking_name ?? '') }}"
|
||||||
|
placeholder="{{ __('validation.attributes.jurisdiction_parking_name') }}"
|
||||||
|
@if($isInfo) readonly @endif>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
|
||||||
<div class="row">
|
|
||||||
@if($isInfo || $isEdit)
|
|
||||||
<!-- 管轄駐輪場ID -->
|
|
||||||
<div class="form-group col-3">
|
|
||||||
<label>{{__('validation.attributes.jurisdiction_parking_id')}}</label>
|
|
||||||
</div>
|
|
||||||
<div class="form-group col-9">
|
|
||||||
<div class="input-group">
|
|
||||||
<input type="text" class="form-control form-control-lg"
|
|
||||||
placeholder="{{__('validation.attributes.jurisdiction_parking_id')}}"
|
|
||||||
readonly
|
|
||||||
value="{{$jurisdiction_parking_id}}">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
@endIf
|
|
||||||
<!-- 管轄名 -->
|
|
||||||
<div class="form-group col-3">
|
|
||||||
<label @if(!$isInfo) class="required" @endif>{{__('validation.attributes.jurisdiction_parking_name')}}</label>
|
|
||||||
</div>
|
|
||||||
<div class="form-group col-9">
|
|
||||||
<div class="input-group">
|
|
||||||
<input type="text" class="form-control form-control-lg"
|
|
||||||
placeholder="{{__('validation.attributes.jurisdiction_parking_name')}}"
|
|
||||||
name="jurisdiction_parking_name" @if($isInfo) readonly @endif
|
|
||||||
value="{{$jurisdiction_parking_name}}">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- オペレータ (エリアマネージャ) -->
|
<!-- オペレータ -->
|
||||||
<div class="form-group col-3">
|
<div class="form-group col-3">
|
||||||
<label @if(!$isInfo) class="required" @endif>{{__('validation.attributes.ope_name')}}</label>
|
<label @if(!$isInfo) class="required" @endif>{{ __('validation.attributes.ope_name') }}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<div class="input-group">
|
<select class="form-control form-control-lg" name="ope_id" @if($isInfo) disabled @endif>
|
||||||
<select class="form-control form-control-lg" name="ope_name" @if($isInfo) disabled @endif>
|
<option value="">{{ __('validation.attributes.ope_name') }}</option>
|
||||||
<option value="">{{__('validation.attributes.ope_name')}}</option>
|
@foreach($opes as $key => $item)
|
||||||
@foreach($listOpes as $key => $item)
|
<option value="{{ $key }}" @if($key == ($record->ope_id ?? '')) selected @endif>{{ $item }}</option>
|
||||||
<option value="{{$key}}" @if($key == $ope_id) selected @endif>{{$item}}</option>
|
@endforeach
|
||||||
@endforeach
|
</select>
|
||||||
</select>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- 駐輪場 -->
|
<!-- 駐輪場 -->
|
||||||
<div class="form-group col-3">
|
<div class="form-group col-3">
|
||||||
<label @if(!$isInfo) class="required" @endif>{{__('validation.attributes.park_name')}}</label>
|
<label @if(!$isInfo) class="required" @endif>{{ __('validation.attributes.park_name') }}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<div class="input-group">
|
<select class="form-control form-control-lg" name="park_id" @if($isInfo) disabled @endif>
|
||||||
<select class="form-control form-control-lg" name="park_name" @if($isInfo) disabled @endif>
|
<option value="">{{ __('validation.attributes.park_name') }}</option>
|
||||||
<option value="">{{__('validation.attributes.park_name')}}</option>
|
@foreach($parks as $key => $item)
|
||||||
@foreach($listParks as $key => $item)
|
<option value="{{ $key }}" @if($key == ($record->park_id ?? '')) selected @endif>{{ $item }}</option>
|
||||||
<option value="{{$key}}" @if($key == $park_id) selected @endif>{{$item}}</option>
|
@endforeach
|
||||||
@endforeach
|
</select>
|
||||||
</select>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
<!-- 更新オペレータ -->
|
||||||
|
@if($isInfo)
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('validation.attributes.operator_id') }}</label>
|
||||||
</div>
|
</div>
|
||||||
@if($isInfo)
|
<div class="form-group col-9">
|
||||||
<a href="{{route('jurisdiction_parking_add')}}" class="btn btn-lg btn-success">{{__('登録')}}</a>
|
<input type="text" class="form-control form-control-lg" readonly
|
||||||
<a href="{{route('jurisdiction_parking_edit',['id'=>$jurisdiction_parking_id])}}"
|
value="{{ $record->operator_id ?? '' }}">
|
||||||
class="btn btn-lg btn-danger">{{__('編集')}}</a>
|
</div>
|
||||||
@else
|
@endif
|
||||||
<button type="submit" class="btn btn-lg btn-danger register" >{{__('保存')}}</button>
|
|
||||||
@endIf
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
<!-- 登録日時 -->
|
||||||
|
@if($isInfo)
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('validation.attributes.created_at') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<input type="text" class="form-control form-control-lg" readonly
|
||||||
|
value="{{ $record->created_at ?? '' }}">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 更新日時 -->
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('validation.attributes.updated_at') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<input type="text" class="form-control form-control-lg" readonly
|
||||||
|
value="{{ $record->updated_at ?? '' }}">
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
@ -1,53 +1,74 @@
|
|||||||
|
|
||||||
@extends('layouts.app')
|
@extends('layouts.app')
|
||||||
@section('title', '[東京都|〇〇駐輪場] 管轄駐輪場')
|
@section('title', '新規')
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<!-- Content Header (Page header) -->
|
<div class="content-header">
|
||||||
<div class="content-header">
|
<div class="container-fluid">
|
||||||
<div class="container-fluid">
|
<div class="row mb-2">
|
||||||
<div class="row mb-2">
|
<div class="col-sm-6">
|
||||||
<div class="col-lg-6">
|
<h1 class="m-0 text-dark">新規</h1>
|
||||||
<h1 class="m-0 text-dark">[東京都|〇〇駐輪場] 管轄駐輪場</h1>
|
</div>
|
||||||
</div><!-- /.col -->
|
<div class="col-sm-6">
|
||||||
<div class="col-lg-6">
|
<ol class="breadcrumb float-sm-right text-sm">
|
||||||
<ol class="breadcrumb float-sm-right text-sm">
|
<li class="breadcrumb-item"><a href="{{ route('home') }}">ホーム</a></li>
|
||||||
<li class="breadcrumb-item"><a href="./index2.html">XX様info(ホーム)</a></li>
|
<li class="breadcrumb-item"><a href="{{ route('jurisdiction_parkings') }}">管轄駐輪場</a></li>
|
||||||
<li class="breadcrumb-item"><a href="./index3.html">[東京都|〇〇駐輪場]</a></li>
|
<li class="breadcrumb-item active">新規</li>
|
||||||
<li class="breadcrumb-item">管轄駐輪場</li>
|
</ol>
|
||||||
<li class="breadcrumb-item active">[東京都|〇〇駐輪場] 管轄駐輪場</li>
|
</div>
|
||||||
</ol>
|
|
||||||
</div><!-- /.col -->
|
|
||||||
</div><!-- /.row -->
|
|
||||||
</div><!-- /.container-fluid -->
|
|
||||||
</div>
|
</div>
|
||||||
<!-- /.content-header -->
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- Main content -->
|
<section class="content">
|
||||||
<section class="content">
|
<div class="container-fluid">
|
||||||
<div class="container-fluid">
|
<form action="{{ route('jurisdiction_parkings_add') }}" method="POST">
|
||||||
<!-- SELECT2 EXAMPLE -->
|
@csrf
|
||||||
|
<div class="card p-4">
|
||||||
<div class="row">
|
{{-- 上部登録ボタン --}}
|
||||||
<div class="col-lg-12">
|
<div class="mb-3">
|
||||||
<div class="card">
|
<button type="submit" class="btn btn-success btn-lg" onclick="return confirm('登録してよろしいですか?')">登録</button>
|
||||||
<form method="post" action="{{ route('jurisdiction_parking_add')}}" enctype="multipart/form-data">
|
|
||||||
<!-- TOKEN FORM -->
|
|
||||||
<input type="hidden" name="_token" value="{{ csrf_token() }}" >
|
|
||||||
<!-- / .TOKEN FORM -->
|
|
||||||
@include('admin.jurisdiction_parkings._form',['isEdit'=>0,'isInfo'=>0])
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="container-fluid mb20">
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('削除')}}</button>
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('インポート')}}</button>
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('CSV出力')}}</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</section>
|
|
||||||
<!-- /.content -->
|
|
||||||
|
|
||||||
@endsection
|
<div class="border-top my-3"></div>
|
||||||
|
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">管轄名<span class="text-danger">*</span></label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<input type="text" name="jurisdiction_parking_name" class="form-control" value="{{ old('jurisdiction_parking_name') }}" placeholder="管轄名を入力">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">オペレーターID</label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<select name="operator_id" class="form-control">
|
||||||
|
<option value="">選択してください</option>
|
||||||
|
@foreach($operators as $id => $name)
|
||||||
|
<option value="{{ $id }}" {{ old('operator_id') == $id ? 'selected' : '' }}>{{ $name }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">駐輪場ID</label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<select name="park_id" class="form-control">
|
||||||
|
<option value="">選択してください</option>
|
||||||
|
@foreach($parks as $id => $name)
|
||||||
|
<option value="{{ $id }}" {{ old('park_id') == $id ? 'selected' : '' }}>{{ $name }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 下部登録ボタン --}}
|
||||||
|
<div class="mb-3">
|
||||||
|
<button type="submit" class="btn btn-success btn-lg" onclick="return confirm('登録してよろしいですか?')">登録</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
@endsection
|
||||||
@ -1,53 +1,79 @@
|
|||||||
|
|
||||||
@extends('layouts.app')
|
@extends('layouts.app')
|
||||||
@section('title', '[東京都|〇〇駐輪場] 管轄駐輪場')
|
@section('title', '編集')
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<!-- Content Header (Page header) -->
|
<div class="content-header">
|
||||||
<div class="content-header">
|
<div class="container-fluid">
|
||||||
<div class="container-fluid">
|
<div class="row mb-2">
|
||||||
<div class="row mb-2">
|
<div class="col-sm-6">
|
||||||
<div class="col-lg-6">
|
<h1 class="m-0 text-dark">編集</h1>
|
||||||
<h1 class="m-0 text-dark">[東京都|〇〇駐輪場] 管轄駐輪場</h1>
|
</div>
|
||||||
</div><!-- /.col -->
|
<div class="col-sm-6">
|
||||||
<div class="col-lg-6">
|
<ol class="breadcrumb float-sm-right text-sm">
|
||||||
<ol class="breadcrumb float-sm-right text-sm">
|
<li class="breadcrumb-item"><a href="{{ route('home') }}">ホーム</a></li>
|
||||||
<li class="breadcrumb-item"><a href="./index2.html">XX様info(ホーム)</a></li>
|
<li class="breadcrumb-item"><a href="{{ route('jurisdiction_parkings') }}">管轄駐輪場マスタ</a></li>
|
||||||
<li class="breadcrumb-item"><a href="./index3.html">[東京都|〇〇駐輪場]</a></li>
|
<li class="breadcrumb-item active">編集</li>
|
||||||
<li class="breadcrumb-item">管轄駐輪場</li>
|
</ol>
|
||||||
<li class="breadcrumb-item active">利用者マスタ</li>
|
</div>
|
||||||
</ol>
|
|
||||||
</div><!-- /.col -->
|
|
||||||
</div><!-- /.row -->
|
|
||||||
</div><!-- /.container-fluid -->
|
|
||||||
</div>
|
</div>
|
||||||
<!-- /.content-header -->
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- Main content -->
|
<section class="content">
|
||||||
<section class="content">
|
<div class="container-fluid">
|
||||||
<div class="container-fluid">
|
<form method="post" action="{{ route('jurisdiction_parkings_edit', ['jurisdiction_parking_id' => $record->jurisdiction_parking_id]) }}">
|
||||||
<!-- SELECT2 EXAMPLE -->
|
@csrf
|
||||||
|
<div class="card p-4">
|
||||||
<div class="row">
|
{{-- 管轄駐輪場ID(表示のみ) --}}
|
||||||
<div class="col-lg-12">
|
<div class="row mb-3">
|
||||||
<div class="card">
|
<label class="col-md-2 col-form-label">管轄駐輪場ID</label>
|
||||||
<form method="post" action="{{ route('jurisdiction_parking_edit',['id'=>$jurisdiction_parking_id])}}" enctype="multipart/form-data">
|
<div class="col-md-10">
|
||||||
<!-- TOKEN FORM -->
|
<input type="text" class="form-control" value="{{ $record->jurisdiction_parking_id }}" readonly>
|
||||||
<input type="hidden" name="_token" value="{{ csrf_token() }}" >
|
</div>
|
||||||
<!-- / .TOKEN FORM -->
|
|
||||||
@include('admin.jurisdiction_parkings._form',['isEdit'=>1,'isInfo'=>0])
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="container-fluid mb20">
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('削除')}}</button>
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('インポート')}}</button>
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('CSV出力')}}</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</section>
|
|
||||||
<!-- /.content -->
|
|
||||||
|
|
||||||
@endsection
|
{{-- 管轄名 --}}
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">管轄名 <span class="text-danger">*</span></label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<input type="text" name="jurisdiction_parking_name" class="form-control" value="{{ old('jurisdiction_parking_name', $record->jurisdiction_parking_name) }}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- オペレータ --}}
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">オペレーター(エリアマネージャ)</label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<select name="ope_id" class="form-control">
|
||||||
|
<option value="">選択してください</option>
|
||||||
|
@foreach($opes as $id => $name)
|
||||||
|
<option value="{{ $id }}" {{ $record->ope_id == $id ? 'selected' : '' }}>{{ $name }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 駐輪場 --}}
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">駐輪場</label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<select name="park_id" class="form-control">
|
||||||
|
<option value="">選択してください</option>
|
||||||
|
@foreach($parks as $id => $name)
|
||||||
|
<option value="{{ $id }}" {{ $record->park_id == $id ? 'selected' : '' }}>{{ $name }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- ボタンエリア --}}
|
||||||
|
<div class="text-left mt-4">
|
||||||
|
{{-- 下部登録ボタン --}}
|
||||||
|
<button type="submit" class="btn btn-success px-5">登録</button>
|
||||||
|
<a href="{{ route('jurisdiction_parkings') }}" class="btn btn-secondary px-5">戻る</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
@endsection
|
||||||
@ -1,53 +1,41 @@
|
|||||||
|
|
||||||
@extends('layouts.app')
|
@extends('layouts.app')
|
||||||
@section('title', '[東京都|〇〇駐輪場] 管轄駐輪場')
|
@section('title', '[東京都|〇〇駐輪場] 管轄駐輪場')
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<!-- Content Header (Page header) -->
|
<div class="content-header">
|
||||||
<div class="content-header">
|
<div class="container-fluid">
|
||||||
<div class="container-fluid">
|
<div class="row mb-2">
|
||||||
<div class="row mb-2">
|
<div class="col-lg-6">
|
||||||
<div class="col-lg-6">
|
<h1 class="m-0 text-dark">[東京都|〇〇駐輪場] 管轄駐輪場</h1>
|
||||||
<h1 class="m-0 text-dark">[東京都|〇〇駐輪場] 管轄駐輪場</h1>
|
|
||||||
</div><!-- /.col -->
|
|
||||||
<div class="col-lg-6">
|
|
||||||
<ol class="breadcrumb float-sm-right text-sm">
|
|
||||||
<li class="breadcrumb-item"><a href="./index2.html">XX様info(ホーム)</a></li>
|
|
||||||
<li class="breadcrumb-item"><a href="./index3.html">[東京都|〇〇駐輪場]</a></li>
|
|
||||||
<li class="breadcrumb-item">管轄駐輪場</li>
|
|
||||||
<li class="breadcrumb-item active">利用者マスタ</li>
|
|
||||||
</ol>
|
|
||||||
</div><!-- /.col -->
|
|
||||||
</div><!-- /.row -->
|
|
||||||
</div><!-- /.container-fluid -->
|
|
||||||
</div>
|
|
||||||
<!-- /.content-header -->
|
|
||||||
|
|
||||||
<!-- Main content -->
|
|
||||||
<section class="content">
|
|
||||||
<div class="container-fluid">
|
|
||||||
<!-- SELECT2 EXAMPLE -->
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-lg-12">
|
|
||||||
<div class="card">
|
|
||||||
<form method="post" action="{{ route('jurisdiction_parking_info',['id'=>$jurisdiction_parking_id])}}" enctype="multipart/form-data">
|
|
||||||
<!-- TOKEN FORM -->
|
|
||||||
<input type="hidden" name="_token" value="{{ csrf_token() }}" >
|
|
||||||
<!-- / .TOKEN FORM -->
|
|
||||||
@include('admin.jurisdiction_parkings._form',['isEdit'=>0,'isInfo'=>1])
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-lg-6">
|
||||||
<div class="container-fluid mb20">
|
<ol class="breadcrumb float-sm-right text-sm">
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('削除')}}</button>
|
<li class="breadcrumb-item"><a href="{{ route('home') }}">XX様info(ホーム)</a></li>
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('インポート')}}</button>
|
<li class="breadcrumb-item"><a href="{{ route('jurisdiction_parkings') }}">[東京都|〇〇駐輪場]</a></li>
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('CSV出力')}}</button>
|
<li class="breadcrumb-item active">管轄駐輪場 詳細</li>
|
||||||
|
</ol>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</div>
|
||||||
<!-- /.content -->
|
</div>
|
||||||
|
|
||||||
@endsection
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-12">
|
||||||
|
<div class="card">
|
||||||
|
@include('admin.jurisdiction_parkings._form', [
|
||||||
|
'record' => $record,
|
||||||
|
'isEdit' => 0,
|
||||||
|
'isInfo' => 1
|
||||||
|
])
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="mt-3">
|
||||||
|
<a href="{{ route('jurisdiction_parkings') }}" class="btn btn-sm btn-secondary">{{ __('戻る') }}</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
@endsection
|
||||||
@ -1,151 +1,102 @@
|
|||||||
|
|
||||||
@extends('layouts.app')
|
@extends('layouts.app')
|
||||||
@section('title', '[東京都|〇〇駐輪場] 管轄駐輪場')
|
@section('title', '[東京都|○○駐車場] 管轄駐輪場')
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<div class="content-header">
|
<!-- Content Header -->
|
||||||
<div class="container-fluid">
|
<div class="content-header">
|
||||||
<div class="row mb-2">
|
<div class="container-fluid">
|
||||||
<div class="col-lg-6">
|
<div class="row mb-2">
|
||||||
<h1 class="m-0 text-dark">{{__('管轄駐輪場')}}</h1>
|
<div class="col-lg-6">
|
||||||
</div><!-- /.col -->
|
<h1 class="m-0 text-dark">管轄駐輪場マスタ</h1>
|
||||||
<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">
|
|
||||||
<!-- SELECT2 EXAMPLE -->
|
|
||||||
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<form action="{{route('jurisdiction_parkings')}}" 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>
|
|
||||||
|
|
||||||
<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('jurisdiction_parkings_import')}}">{{__('インポート')}}</button>
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10" name="export_csv" id="export_csv" action="{{route('jurisdiction_parkings_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('jurisdiction_parkings_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->jurisdiction_parking_id}}" name="pk[]">
|
|
||||||
<div class="btn_action">
|
|
||||||
{{--<a href="{{route('jurisdiction_parking_add')}}" class="btn btn-sm btn-default">詳細</a>--}}
|
|
||||||
<a href="{{route('jurisdiction_parking_info',['pk'=>$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>
|
|
||||||
<!-- 管轄駐輪場ID -->
|
|
||||||
<th class="sorting @if($sort=="jurisdiction_parking_id"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
|
||||||
sort="jurisdiction_parking_id"><span>{{__('validation.attributes.jurisdiction_parking_id')}}</span>
|
|
||||||
</th>
|
|
||||||
|
|
||||||
<!-- 管轄名 -->
|
|
||||||
<th class="sorting @if($sort=="jurisdiction_parking_name"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
|
||||||
sort="jurisdiction_parking_name"><span>{{__('validation.attributes.jurisdiction_parking_name')}}</span>
|
|
||||||
</th>
|
|
||||||
|
|
||||||
<!-- オペレータ-->
|
|
||||||
<th class="sorting @if($sort=="ope_id"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
|
||||||
sort="ope_id"><span>{{__('validation.attributes.ope_name')}}</span>
|
|
||||||
</th>
|
|
||||||
|
|
||||||
<!-- 駐輪場 -->
|
|
||||||
<th class="sorting @if($sort=="park_id"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
|
||||||
sort="park_id"><span>{{__('validation.attributes.park_name')}}</span>
|
|
||||||
</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
@foreach($list as $item)
|
|
||||||
<tr>
|
|
||||||
<!-- 管轄駐輪場ID -->
|
|
||||||
<td class='sm-item text-left'>
|
|
||||||
<span>{{mb_substr($item->jurisdiction_parking_id, 0, 10)}}</span></td>
|
|
||||||
|
|
||||||
<!-- 管轄名 -->
|
|
||||||
<td class='sm-item text-right'>
|
|
||||||
<span>{{mb_substr($item->jurisdiction_parking_name, 0, 10)}}</span></td>
|
|
||||||
|
|
||||||
<!-- オペレータ(エリアマネージャ) -->
|
|
||||||
<td class='sm-item text-right'>
|
|
||||||
<span>{{mb_substr(!empty($item->getOpe())?$item->getOpe()->ope_name:"", 0, 10)}}</span></td>
|
|
||||||
|
|
||||||
<!-- 駐輪場 -->
|
|
||||||
<td class='sm-item text-right'>
|
|
||||||
<span>{{mb_substr(!empty($item->getPark())?$item->getPark()->park_name:"", 0, 10)}}</span></td>
|
|
||||||
</tr>
|
|
||||||
@endforeach
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<!-- /.row -->
|
<div class="col-lg-6">
|
||||||
</div><!-- /.container-fluid -->
|
<ol class="breadcrumb float-sm-right text-sm">
|
||||||
</section>
|
<li class="breadcrumb-item"><a href="{{ route('home') }}">XX様info(ホーム)</a></li>
|
||||||
<!-- /.content -->
|
<li class="breadcrumb-item active">管轄駐輪場</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<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>
|
||||||
|
|
||||||
|
<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>
|
||||||
|
@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('jurisdiction_parkings_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>
|
||||||
|
<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>
|
||||||
|
<th><span>オペレーター(エリアマネージャ)</span></th>
|
||||||
|
<th><span>駐車場</span></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<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>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<form action="{{ route('jurisdiction_parkings_export') }}" method="GET" id="form_export"></form>
|
||||||
@endsection
|
@endsection
|
||||||
@ -6,197 +6,238 @@
|
|||||||
@elseif(Session::has('error'))
|
@elseif(Session::has('error'))
|
||||||
<div class="alert alert-danger alert-dismissible">
|
<div class="alert alert-danger alert-dismissible">
|
||||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||||
<h4><i class="icon fa fa-ban"></i> {{__('誤差')}}:</h4>
|
<h4><i class="icon fa fa-ban"></i> {{ __('誤差') }}:</h4>
|
||||||
{!! Session::get('error') !!}
|
{!! Session::get('error') !!}
|
||||||
</div>
|
</div>
|
||||||
@elseif(isset($errorMsg))
|
@elseif(isset($errorMsg))
|
||||||
<div class="alert alert-danger alert-dismissible">
|
<div class="alert alert-danger alert-dismissible">
|
||||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||||
<h4><i class="icon fa fa-ban"></i> {{__('誤差')}}:</h4>
|
<h4><i class="icon fa fa-ban"></i> {{ __('誤差') }}:</h4>
|
||||||
{!! $errorMsg !!}
|
{!! $errorMsg !!}
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
|
@php
|
||||||
|
$isAddPage = request()->routeIs('managers_add'); // 新規ページなら true
|
||||||
|
@endphp
|
||||||
|
|
||||||
|
{{-- 上部ボタン --}}
|
||||||
|
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
|
<div class="d-flex justify-content-start align-items-center">
|
||||||
@if($isInfo)
|
@if($isInfo)
|
||||||
<a href="{{route('manager_add')}}" class="btn btn-lg btn-success">{{__('登録')}}</a>
|
<a href="{{ route('managers_add') }}" class="btn btn-lg btn-success mr-2">{{ __('登録') }}</a>
|
||||||
<a href="{{route('manager_edit',['id'=>$manager_id])}}" class="btn btn-lg btn-danger">{{__('編集')}}</a>
|
<a href="{{ route('managers_edit', ['manager_id' => $manager_id]) }}" class="btn btn-lg btn-danger">{{ __('編集') }}</a>
|
||||||
@else
|
@else
|
||||||
<button type="submit" class="btn btn-lg btn-danger register" >{{__('保存')}}</button>
|
<button type="submit" class="btn btn-lg btn-success mr-2">
|
||||||
@endIf
|
{{ $isAddPage ? __('登録') : __('保存') }}
|
||||||
|
</button>
|
||||||
|
<a href="{{ route('managers') }}" class="btn btn-lg btn-secondary">{{ __('戻る') }}</a>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
@if($isInfo || $isEdit)
|
|
||||||
<!-- 駐車場管理者ID -->
|
|
||||||
<div class="form-group col-3">
|
|
||||||
<label>{{__('validation.attributes.manager_id')}}</label>
|
|
||||||
</div>
|
|
||||||
<div class="form-group col-9">
|
|
||||||
<div class="input-group">
|
|
||||||
<input type="text" value="{{$manager_id}}" placeholder="{{__('validation.attributes.manager_id')}}"
|
|
||||||
class="form-control form-control-lg" readonly/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
@endif
|
|
||||||
<!-- 駐車場管理者名 -->
|
|
||||||
<!-- 駐車場管理者ID -->
|
|
||||||
<div class="form-group col-3">
|
|
||||||
<label @if(!$isInfo) class="required" @endif>{{__('validation.attributes.manager_name')}}</label>
|
|
||||||
</div>
|
|
||||||
<div class="form-group col-9">
|
|
||||||
<div class="input-group">
|
|
||||||
<input type="text" value="{{$manager_name}}" placeholder="{{__('validation.attributes.manager_name')}}"
|
|
||||||
name="manager_name"
|
|
||||||
class="form-control form-control-lg" @if($isInfo) readonly @endif/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- 種別 -->
|
@if($isInfo || $isEdit)
|
||||||
<div class="form-group col-3">
|
{{-- 駐車場管理者ID(表示のみ) --}}
|
||||||
<label>{{__('validation.attributes.manager_type')}}</label>
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('validation.attributes.manager_id') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text"
|
||||||
|
value="{{ $manager_id }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
readonly />
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-9">
|
</div>
|
||||||
<div class="input-group">
|
@endif
|
||||||
<input type="text" value="{{$manager_type}}" placeholder="{{__('validation.attributes.manager_type')}}"
|
|
||||||
name="manager_type"
|
|
||||||
class="form-control form-control-lg" @if($isInfo) readonly @endif/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- /.form group - 種別 -->
|
|
||||||
|
|
||||||
<!-- 所属駐車場 -->
|
{{-- 駐車場管理者名 --}}
|
||||||
<div class="form-group col-3">
|
<div class="form-group col-3">
|
||||||
<label @if(!$isInfo) class="required" @endif>{{__('validation.attributes.park_name')}}</label>
|
<label @if(!$isInfo) class="required" @endif>{{ __('validation.attributes.manager_name') }}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<select class="form-control form-control-lg mb10" name="park_name" @if($isInfo) disabled @endif>
|
<div class="input-group">
|
||||||
<option value="">{{__('validation.attributes.park_name')}}</option>
|
<input type="text"
|
||||||
@foreach($parks as $key => $val)
|
name="manager_name"
|
||||||
<option value="{{$key}}" @if($manager_parkid == $key)selected @endif>{{$val}}</option>
|
value="{{ old('manager_name', $manager_name) }}"
|
||||||
@endforeach
|
placeholder="{{ __('validation.attributes.manager_name') }}"
|
||||||
</select>
|
class="form-control form-control-lg" @if($isInfo) readonly @endif />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 管理デバイス1_ID -->
|
|
||||||
<div class="form-group col-3">
|
|
||||||
<label @if(!$isInfo) class="required" @endif>{{__('validation.attributes.manager_device1')}}</label>
|
|
||||||
</div>
|
|
||||||
<div class="form-group col-9">
|
|
||||||
<select class="form-control form-control-lg mb10" name="manager_device1" @if($isInfo) disabled @endif>
|
|
||||||
<option value="">{{__('validation.attributes.manager_device1')}}</option>
|
|
||||||
@foreach($devices as $key => $val)
|
|
||||||
<option value="{{$key}}" @if($manager_device1 == $key)selected @endif>{{$val}}</option>
|
|
||||||
@endforeach
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<!-- /.form group - 管理デバイス1_ID -->
|
|
||||||
|
|
||||||
<!-- 管理デバイス2_ID -->
|
|
||||||
<div class="form-group col-3">
|
|
||||||
<label @if(!$isInfo) class="required" @endif>{{__('validation.attributes.manager_device2')}}</label>
|
|
||||||
</div>
|
|
||||||
<div class="form-group col-9">
|
|
||||||
<select class="form-control form-control-lg mb10" name="manager_device2" @if($isInfo) disabled @endif>
|
|
||||||
<option value="">{{__('validation.attributes.manager_device2')}}</option>
|
|
||||||
@foreach($devices as $key => $val)
|
|
||||||
<option value="{{$key}}" @if($manager_device2 == $key)selected @endif>{{$val}}</option>
|
|
||||||
@endforeach
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<!-- /.form group - 管理デバイス2_ID -->
|
|
||||||
|
|
||||||
<!-- メールアドレス -->
|
|
||||||
<div class="form-group col-3">
|
|
||||||
<label>{{__('validation.attributes.manager_mail')}}</label>
|
|
||||||
</div>
|
|
||||||
<div class="form-group col-9">
|
|
||||||
<div class="input-group">
|
|
||||||
<input type="text" value="{{$manager_mail}}" placeholder="{{__('validation.attributes.manager_mail')}}"
|
|
||||||
name="manager_mail"
|
|
||||||
class="form-control form-control-lg" @if($isInfo) readonly @endif/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- /.form group - メールアドレス -->
|
|
||||||
|
|
||||||
<!-- 電話番号 -->
|
|
||||||
<div class="form-group col-3">
|
|
||||||
<label>{{__('validation.attributes.manager_tel')}}</label>
|
|
||||||
</div>
|
|
||||||
<div class="form-group col-9">
|
|
||||||
<div class="input-group">
|
|
||||||
<input type="text" value="{{$manager_tel}}" placeholder="{{__('validation.attributes.manager_tel')}}"
|
|
||||||
name="manager_tel"
|
|
||||||
class="form-control form-control-lg" @if($isInfo) readonly @endif/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- /.form group - 電話番号 -->
|
|
||||||
|
|
||||||
<!-- アラート1送信 -->
|
|
||||||
<div class="form-group col-3">
|
|
||||||
<label>{{__('validation.attributes.manager_alert1')}}</label>
|
|
||||||
</div>
|
|
||||||
<div class="form-group col-9">
|
|
||||||
<div class="input-group">
|
|
||||||
<input type="text" value="{{$manager_alert1}}" placeholder="{{__('validation.attributes.manager_alert1')}}"
|
|
||||||
name="manager_alert1"
|
|
||||||
class="form-control form-control-lg" @if($isInfo) readonly @endif/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- /.form group - アラート1送信 -->
|
|
||||||
|
|
||||||
<!-- アラート2送信 -->
|
|
||||||
<div class="form-group col-3">
|
|
||||||
<label>{{__('validation.attributes.manager_alert2')}}</label>
|
|
||||||
</div>
|
|
||||||
<div class="form-group col-9">
|
|
||||||
<div class="input-group">
|
|
||||||
<input type="text" value="{{$manager_alert2}}"
|
|
||||||
placeholder="{{__('validation.attributes.manager_alert2')}}" name="manager_alert2"
|
|
||||||
class="form-control form-control-lg" @if($isInfo) readonly @endif/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- /.form group - アラート2送信 -->
|
|
||||||
|
|
||||||
<!-- 退職フラグ -->
|
|
||||||
<div class="form-group col-3">
|
|
||||||
<label>{{__('validation.attributes.manager_quit_flag')}}</label>
|
|
||||||
</div>
|
|
||||||
<div class="form-group col-9">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-2 offset-1 form-check">
|
|
||||||
<input type="radio" class="minimal"
|
|
||||||
name="manager_quit_flag" @if($isInfo) disabled @endif
|
|
||||||
value="1" {{$manager_quit_flag? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("退職")}}</label>
|
|
||||||
</div>
|
|
||||||
<div class="col-3 form-check">
|
|
||||||
<input type="radio" class="minimal"
|
|
||||||
name="manager_quit_flag" @if($isInfo) disabled @endif
|
|
||||||
value="0" {{!$manager_quit_flag? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("退職しない")}}</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- /.form group - 退職フラグ -->
|
|
||||||
|
|
||||||
<!-- 退職日 -->
|
|
||||||
<div class="form-group col-3">
|
|
||||||
<label>{{__('validation.attributes.manager_quitday')}}</label>
|
|
||||||
</div>
|
|
||||||
<div class="form-group col-9">
|
|
||||||
<div class="input-group">
|
|
||||||
<input type="date" value="{{$manager_quitday}}"
|
|
||||||
placeholder="{{__('validation.attributes.manager_quitday')}}" name="manager_quitday"
|
|
||||||
class="form-control form-control-lg" @if($isInfo) readonly @endif/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- /.form group - 退職日 -->
|
|
||||||
</div>
|
</div>
|
||||||
@if($isInfo)
|
|
||||||
<a href="{{route('manager_add')}}" class="btn btn-lg btn-success">{{__('登録')}}</a>
|
|
||||||
<a href="{{route('manager_edit',['id'=>$manager_id])}}" class="btn btn-lg btn-danger">{{__('編集')}}</a>
|
|
||||||
@else
|
|
||||||
<button type="submit" class="btn btn-lg btn-danger register" >{{__('保存')}}</button>
|
|
||||||
@endIf
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
{{-- 種別 --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('validation.attributes.manager_type') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text"
|
||||||
|
name="manager_type"
|
||||||
|
value="{{ old('manager_type', $manager_type) }}"
|
||||||
|
placeholder="{{ __('validation.attributes.manager_type') }}"
|
||||||
|
class="form-control form-control-lg" @if($isInfo) readonly @endif />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 所属駐輪場 --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label @if(!$isInfo) class="required" @endif>{{ __('validation.attributes.park_name') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<select class="form-control form-control-lg mb10"
|
||||||
|
name="manager_parkid" @if($isInfo) disabled @endif>
|
||||||
|
<option value="">{{ __('validation.attributes.park_name') }}</option>
|
||||||
|
@foreach($parks as $key => $val)
|
||||||
|
<option value="{{ $key }}"
|
||||||
|
@if((string)old('manager_parkid', $manager_parkid) === (string)$key) selected @endif>
|
||||||
|
{{ $val }}
|
||||||
|
</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 管理デバイス1 --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label @if(!$isInfo) class="required" @endif>{{ __('validation.attributes.manager_device1') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<select class="form-control form-control-lg mb10"
|
||||||
|
name="manager_device1" @if($isInfo) disabled @endif>
|
||||||
|
<option value="">{{ __('validation.attributes.manager_device1') }}</option>
|
||||||
|
@foreach($devices as $key => $val)
|
||||||
|
<option value="{{ $key }}"
|
||||||
|
@if((string)old('manager_device1', $manager_device1) === (string)$key) selected @endif>
|
||||||
|
{{ $val }}
|
||||||
|
</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 管理デバイス2 --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label @if(!$isInfo) class="required" @endif>{{ __('validation.attributes.manager_device2') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<select class="form-control form-control-lg mb10"
|
||||||
|
name="manager_device2" @if($isInfo) disabled @endif>
|
||||||
|
<option value="">{{ __('validation.attributes.manager_device2') }}</option>
|
||||||
|
@foreach($devices as $key => $val)
|
||||||
|
<option value="{{ $key }}"
|
||||||
|
@if((string)old('manager_device2', $manager_device2) === (string)$key) selected @endif>
|
||||||
|
{{ $val }}
|
||||||
|
</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- メールアドレス --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('validation.attributes.manager_mail') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text"
|
||||||
|
name="manager_mail"
|
||||||
|
value="{{ old('manager_mail', $manager_mail) }}"
|
||||||
|
class="form-control form-control-lg" @if($isInfo) readonly @endif />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 電話番号 --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('validation.attributes.manager_tel') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text"
|
||||||
|
name="manager_tel"
|
||||||
|
value="{{ old('manager_tel', $manager_tel) }}"
|
||||||
|
class="form-control form-control-lg" @if($isInfo) readonly @endif />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- アラート1送信(checkbox + hidden 0) --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('validation.attributes.manager_alert1') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<div class="input-group align-items-center">
|
||||||
|
@if(!$isInfo)<input type="hidden" name="manager_alert1" value="0">@endif
|
||||||
|
<input type="checkbox" class="minimal"
|
||||||
|
name="manager_alert1" value="1"
|
||||||
|
{{ old('manager_alert1', $manager_alert1) ? 'checked' : '' }}
|
||||||
|
@if($isInfo) disabled @endif>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- アラート2送信(checkbox + hidden 0) --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('validation.attributes.manager_alert2') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<div class="input-group align-items-center">
|
||||||
|
@if(!$isInfo)<input type="hidden" name="manager_alert2" value="0">@endif
|
||||||
|
<input type="checkbox" class="minimal"
|
||||||
|
name="manager_alert2" value="1"
|
||||||
|
{{ old('manager_alert2', $manager_alert2) ? 'checked' : '' }}
|
||||||
|
@if($isInfo) disabled @endif>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 退職フラグ --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('validation.attributes.manager_quit_flag') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-2 offset-1 form-check">
|
||||||
|
<input type="radio" class="minimal"
|
||||||
|
name="manager_quit_flag" value="1"
|
||||||
|
{{ (string)old('manager_quit_flag', $manager_quit_flag) === '1' ? 'checked' : '' }}
|
||||||
|
@if($isInfo) disabled @endif>
|
||||||
|
<label class="form-check-label">{{ __('退職') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="col-3 form-check">
|
||||||
|
<input type="radio" class="minimal"
|
||||||
|
name="manager_quit_flag" value="0"
|
||||||
|
{{ (string)old('manager_quit_flag', $manager_quit_flag) === '0' ? 'checked' : '' }}
|
||||||
|
@if($isInfo) disabled @endif>
|
||||||
|
<label class="form-check-label">{{ __('退職しない') }}</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 退職日 --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('validation.attributes.manager_quitday') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="date"
|
||||||
|
name="manager_quitday"
|
||||||
|
value="{{ old('manager_quitday', $manager_quitday) }}"
|
||||||
|
class="form-control form-control-lg" @if($isInfo) readonly @endif />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 下部ボタン --}}
|
||||||
|
<div class="card-footer bg-white border-0">
|
||||||
|
<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>
|
||||||
|
@else
|
||||||
|
<button type="submit" class="btn btn-lg btn-success mr-2">
|
||||||
|
{{ $isAddPage ? __('登録') : __('保存') }}
|
||||||
|
</button>
|
||||||
|
<a href="{{ route('managers') }}" class="btn btn-lg btn-secondary">{{ __('戻る') }}</a>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|||||||
@ -1,53 +1,54 @@
|
|||||||
|
|
||||||
@extends('layouts.app')
|
@extends('layouts.app')
|
||||||
@section('title', '[東京都|〇〇駐輪場] 駐輪場管理者マスタ')
|
@section('title', '[東京都|〇〇駐輪場] 駐輪場管理者マスタ')
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<!-- Content Header (Page header) -->
|
<div class="content-header">
|
||||||
<div class="content-header">
|
<div class="container-fluid">
|
||||||
<div class="container-fluid">
|
<div class="row mb-2">
|
||||||
<div class="row mb-2">
|
<div class="col-lg-6">
|
||||||
<div class="col-lg-6">
|
<h1 class="m-0 text-dark">新規</h1>
|
||||||
<h1 class="m-0 text-dark">[東京都|〇〇駐輪場] 駐輪場管理者マスタ</h1>
|
|
||||||
</div><!-- /.col -->
|
|
||||||
<div class="col-lg-6">
|
|
||||||
<ol class="breadcrumb float-sm-right text-sm">
|
|
||||||
<li class="breadcrumb-item"><a href="./index2.html">XX様info(ホーム)</a></li>
|
|
||||||
<li class="breadcrumb-item"><a href="./index3.html">[東京都|〇〇駐輪場]</a></li>
|
|
||||||
<li class="breadcrumb-item">駐輪場管理者マスタ</li>
|
|
||||||
<li class="breadcrumb-item active">[東京都|〇〇駐輪場] 駐輪場管理者マスタ</li>
|
|
||||||
</ol>
|
|
||||||
</div><!-- /.col -->
|
|
||||||
</div><!-- /.row -->
|
|
||||||
</div><!-- /.container-fluid -->
|
|
||||||
</div>
|
|
||||||
<!-- /.content-header -->
|
|
||||||
|
|
||||||
<!-- Main content -->
|
|
||||||
<section class="content">
|
|
||||||
<div class="container-fluid">
|
|
||||||
<!-- SELECT2 EXAMPLE -->
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-lg-12">
|
|
||||||
<div class="card">
|
|
||||||
<form method="post" action="{{ route('manager_add')}}" enctype="multipart/form-data">
|
|
||||||
<!-- TOKEN FORM -->
|
|
||||||
<input type="hidden" name="_token" value="{{ csrf_token() }}" >
|
|
||||||
<!-- / .TOKEN FORM -->
|
|
||||||
@include('admin.managers._form',['isEdit'=>0,'isInfo'=>0])
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="container-fluid mb20">
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('削除')}}</button>
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('インポート')}}</button>
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('CSV出力')}}</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</section>
|
<div class="col-lg-6">
|
||||||
<!-- /.content -->
|
<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"><a href="{{ route('managers') }}">駐輪場管理者マスタ</a></li>
|
||||||
|
<li class="breadcrumb-item active">新規登録</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
|
||||||
|
@if ($errors->any())
|
||||||
|
<div class="alert alert-danger">
|
||||||
|
<ul class="mb-0">@foreach ($errors->all() as $e)<li>{{ $e }}</li>@endforeach</ul>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
@if(Session::has('success'))
|
||||||
|
<div class="alert alert-success alert-dismissible">{{ Session::get('success') }}</div>
|
||||||
|
@elseif(Session::has('error'))
|
||||||
|
<div class="alert alert-danger alert-dismissible">{!! Session::get('error') !!}</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-12">
|
||||||
|
<div class="card p-3">
|
||||||
|
|
||||||
|
{{-- 新規登録フォーム --}}
|
||||||
|
<form method="post" action="{{ route('managers_add') }}">
|
||||||
|
@csrf
|
||||||
|
@include('admin.managers._form', ['isEdit' => 0, 'isInfo' => 0])
|
||||||
|
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
@endsection
|
@endsection
|
||||||
|
|||||||
@ -1,53 +1,64 @@
|
|||||||
|
|
||||||
@extends('layouts.app')
|
@extends('layouts.app')
|
||||||
@section('title', '[東京都|〇〇駐輪場] 駐輪場管理者マスタ')
|
@section('title', '[東京都|〇〇駐輪場] 駐輪場管理者マスタ')
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<!-- Content Header (Page header) -->
|
@php
|
||||||
<div class="content-header">
|
$mid = $record->manager_id ?? ($manager_id ?? null);
|
||||||
<div class="container-fluid">
|
@endphp
|
||||||
<div class="row mb-2">
|
|
||||||
<div class="col-lg-6">
|
|
||||||
<h1 class="m-0 text-dark">[東京都|〇〇駐輪場] 駐輪場管理者マスタ</h1>
|
|
||||||
</div><!-- /.col -->
|
|
||||||
<div class="col-lg-6">
|
|
||||||
<ol class="breadcrumb float-sm-right text-sm">
|
|
||||||
<li class="breadcrumb-item"><a href="./index2.html">XX様info(ホーム)</a></li>
|
|
||||||
<li class="breadcrumb-item"><a href="./index3.html">[東京都|〇〇駐輪場]</a></li>
|
|
||||||
<li class="breadcrumb-item">駐輪場管理者マスタ</li>
|
|
||||||
<li class="breadcrumb-item active">利用者マスタ</li>
|
|
||||||
</ol>
|
|
||||||
</div><!-- /.col -->
|
|
||||||
</div><!-- /.row -->
|
|
||||||
</div><!-- /.container-fluid -->
|
|
||||||
</div>
|
|
||||||
<!-- /.content-header -->
|
|
||||||
|
|
||||||
<!-- Main content -->
|
<div class="content-header">
|
||||||
<section class="content">
|
<div class="container-fluid">
|
||||||
<div class="container-fluid">
|
<div class="row mb-2">
|
||||||
<!-- SELECT2 EXAMPLE -->
|
<div class="col-lg-6">
|
||||||
|
<h1 class="m-0 text-dark">編集</h1>
|
||||||
<div class="row">
|
|
||||||
<div class="col-lg-12">
|
|
||||||
<div class="card">
|
|
||||||
<form method="post" action="{{ route('manager_edit',['id'=>$manager_id])}}" enctype="multipart/form-data">
|
|
||||||
<!-- TOKEN FORM -->
|
|
||||||
<input type="hidden" name="_token" value="{{ csrf_token() }}" >
|
|
||||||
<!-- / .TOKEN FORM -->
|
|
||||||
@include('admin.managers._form',['isEdit'=>1,'isInfo'=>0])
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="container-fluid mb20">
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('削除')}}</button>
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('インポート')}}</button>
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('CSV出力')}}</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</section>
|
<div class="col-lg-6">
|
||||||
<!-- /.content -->
|
<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"><a href="{{ route('managers') }}">駐輪場管理者マスタ</a></li>
|
||||||
|
<li class="breadcrumb-item active">編集</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
|
||||||
|
@if ($errors->any())
|
||||||
|
<div class="alert alert-danger">
|
||||||
|
<ul class="mb-0">@foreach ($errors->all() as $e)<li>{{ $e }}</li>@endforeach</ul>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
@if(Session::has('success'))
|
||||||
|
<div class="alert alert-success alert-dismissible">{{ Session::get('success') }}</div>
|
||||||
|
@elseif(Session::has('error'))
|
||||||
|
<div class="alert alert-danger alert-dismissible">{!! Session::get('error') !!}</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-12">
|
||||||
|
<div class="card p-3">
|
||||||
|
|
||||||
|
{{-- 更新用フォーム --}}
|
||||||
|
<form method="post" action="{{ route('managers_edit', ['manager_id' => $mid]) }}">
|
||||||
|
@csrf
|
||||||
|
@include('admin.managers._form', ['isEdit' => 1, 'isInfo' => 0])
|
||||||
|
|
||||||
|
</form>
|
||||||
|
|
||||||
|
{{-- 削除用フォーム(独立・POST /managers/delete) --}}
|
||||||
|
<form action="{{ route('managers_delete') }}" method="post" id="delete_form" class="d-none">
|
||||||
|
@csrf
|
||||||
|
<input type="hidden" name="pk[]" value="{{ $mid }}">
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
@endsection
|
@endsection
|
||||||
|
|||||||
@ -1,53 +1,63 @@
|
|||||||
|
|
||||||
@extends('layouts.app')
|
@extends('layouts.app')
|
||||||
@section('title', '[東京都|〇〇駐輪場] 駐輪場管理者マスタ')
|
@section('title', '[東京都|〇〇駐輪場] 駐輪場管理者マスタ')
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<!-- Content Header (Page header) -->
|
@php
|
||||||
<div class="content-header">
|
// 兼容控制器传参:$record 或 $manager_id
|
||||||
<div class="container-fluid">
|
$mid = $record->manager_id ?? ($manager_id ?? null);
|
||||||
<div class="row mb-2">
|
@endphp
|
||||||
<div class="col-lg-6">
|
|
||||||
<h1 class="m-0 text-dark">[東京都|〇〇駐輪場] 駐輪場管理者マスタ</h1>
|
|
||||||
</div><!-- /.col -->
|
|
||||||
<div class="col-lg-6">
|
|
||||||
<ol class="breadcrumb float-sm-right text-sm">
|
|
||||||
<li class="breadcrumb-item"><a href="./index2.html">XX様info(ホーム)</a></li>
|
|
||||||
<li class="breadcrumb-item"><a href="./index3.html">[東京都|〇〇駐輪場]</a></li>
|
|
||||||
<li class="breadcrumb-item">駐輪場管理者マスタ</li>
|
|
||||||
<li class="breadcrumb-item active">利用者マスタ</li>
|
|
||||||
</ol>
|
|
||||||
</div><!-- /.col -->
|
|
||||||
</div><!-- /.row -->
|
|
||||||
</div><!-- /.container-fluid -->
|
|
||||||
</div>
|
|
||||||
<!-- /.content-header -->
|
|
||||||
|
|
||||||
<!-- Main content -->
|
<!-- Content Header -->
|
||||||
<section class="content">
|
<div class="content-header">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<!-- SELECT2 EXAMPLE -->
|
<div class="row mb-2">
|
||||||
|
<div class="col-lg-6">
|
||||||
<div class="row">
|
<h1 class="m-0 text-dark">駐輪場管理者マスタ</h1>
|
||||||
<div class="col-lg-12">
|
|
||||||
<div class="card">
|
|
||||||
<form method="post" action="{{ route('manager_info',['id'=>$manager_id])}}" enctype="multipart/form-data">
|
|
||||||
<!-- TOKEN FORM -->
|
|
||||||
<input type="hidden" name="_token" value="{{ csrf_token() }}" >
|
|
||||||
<!-- / .TOKEN FORM -->
|
|
||||||
@include('admin.managers._form',['isEdit'=>0,'isInfo'=>1])
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="container-fluid mb20">
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('削除')}}</button>
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('インポート')}}</button>
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('CSV出力')}}</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</section>
|
<div class="col-lg-6">
|
||||||
<!-- /.content -->
|
<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"><a href="{{ route('managers') }}">駐輪場管理者マスタ</a></li>
|
||||||
|
<li class="breadcrumb-item active">詳細</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Main content -->
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
|
||||||
|
@if ($errors->any())
|
||||||
|
<div class="alert alert-danger">
|
||||||
|
<ul class="mb-0">@foreach ($errors->all() as $e)<li>{{ $e }}</li>@endforeach</ul>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
@if(Session::has('success'))
|
||||||
|
<div class="alert alert-success alert-dismissible">{{ Session::get('success') }}</div>
|
||||||
|
@elseif(Session::has('error'))
|
||||||
|
<div class="alert alert-danger alert-dismissible">{!! Session::get('error') !!}</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-12">
|
||||||
|
<div class="card p-3">
|
||||||
|
|
||||||
|
{{-- 閲覧用:不必要な外層フォームは置かない --}}
|
||||||
|
@include('admin.managers._form', ['isEdit' => 0, 'isInfo' => 1])
|
||||||
|
|
||||||
|
{{-- 削除用の独立フォーム(ネスト回避) --}}
|
||||||
|
<form action="{{ route('managers_delete') }}" method="post" id="delete_form" class="d-none">
|
||||||
|
@csrf
|
||||||
|
<input type="hidden" name="pk[]" value="{{ $mid }}">
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
@endsection
|
@endsection
|
||||||
|
|||||||
@ -1,44 +1,48 @@
|
|||||||
@extends('layouts.app')
|
@extends('layouts.app')
|
||||||
@section('title', '[東京都|〇〇駐輪場] 駐輪場管理者マスタ')
|
@section('title', '[東京都|〇〇駐輪場] 駐輪場管理者マスタ')
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<div class="content-header">
|
<div class="content-header">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="row mb-2">
|
<div class="row mb-2">
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<h1 class="m-0 text-dark">{{__('駐輪場管理者マスタ')}}</h1>
|
<h1 class="m-0 text-dark">{{ __('駐輪場管理者マスタ') }}</h1>
|
||||||
</div><!-- /.col -->
|
</div>
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<ol class="breadcrumb float-sm-right text-sm">
|
<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('home') }}">XX様info(ホーム)</a></li>
|
||||||
<li class="breadcrumb-item"><a href="javascript: void(0);">[東京都|〇〇駐輪場]</a></li>
|
<li class="breadcrumb-item"><a href="javascript: void(0);">[東京都|〇〇駐輪場]</a></li>
|
||||||
<li class="breadcrumb-item active">{{__('駐輪場管理者マスタ')}}</li>
|
<li class="breadcrumb-item active">{{ __('駐輪場管理者マスタ') }}</li>
|
||||||
</ol>
|
</ol>
|
||||||
</div><!-- /.col -->
|
</div>
|
||||||
</div><!-- /.row -->
|
</div>
|
||||||
</div><!-- /.container-fluid -->
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- /.content-header -->
|
|
||||||
|
|
||||||
<!-- Main content -->
|
|
||||||
<section class="content">
|
<section class="content">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<!-- SELECT2 EXAMPLE -->
|
|
||||||
|
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<form action="{{route('managers')}}" method='post' id='list-form'>
|
{{-- 並び替え用 --}}
|
||||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
<form action="{{ route('managers') }}" method="post" id="list-form">
|
||||||
<input type="hidden" value="{{$sort}}" name="sort" id="sort">
|
@csrf
|
||||||
<input type="hidden" value="{{$sort_type}}" name="sort_type" id="sort_type">
|
<input type="hidden" value="{{ $sort }}" name="sort" id="sort">
|
||||||
|
<input type="hidden" value="{{ $sort_type }}" name="sort_type" id="sort_type">
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<div class="container-fluid mb20">
|
<div class="container-fluid mb20">
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10" name="delete"
|
{{-- 新規 --}}
|
||||||
id="delete">{{__('削除')}}</button>
|
<a href="{{ route('managers_add') }}" class="btn btn-sm btn-default mr10">
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10" name="import_csv" id="import_csv" action="{{route('managers_import')}}">{{__('インポート')}}</button>
|
{{ __('新規') }}
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10" name="export_csv" id="export_csv" action="{{route('managers_export')}}">{{__('CSV出力')}}</button>
|
</a>
|
||||||
{{ $list->appends(['sort' => $sort,'sort_type'=>$sort_type])->links('pagination') }}
|
{{-- 削除(左侧勾选后提交下方 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>
|
||||||
|
|
||||||
<div class="form col-lg-12">
|
<div class="form col-lg-12">
|
||||||
@if(Session::has('success'))
|
@if(Session::has('success'))
|
||||||
<div class="alert alert-success alert-dismissible" role="alert">
|
<div class="alert alert-success alert-dismissible" role="alert">
|
||||||
@ -48,21 +52,23 @@
|
|||||||
@elseif(Session::has('error'))
|
@elseif(Session::has('error'))
|
||||||
<div class="alert alert-danger alert-dismissible">
|
<div class="alert alert-danger alert-dismissible">
|
||||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||||
<h4><i class="icon fa fa-ban"></i> {{__('誤差')}}:</h4>
|
<h4><i class="icon fa fa-ban"></i> {{ __('誤差') }}:</h4>
|
||||||
{!! Session::get('error') !!}
|
{!! Session::get('error') !!}
|
||||||
</div>
|
</div>
|
||||||
@elseif(isset($errorMsg))
|
@elseif(isset($errorMsg))
|
||||||
<div class="alert alert-danger alert-dismissible">
|
<div class="alert alert-danger alert-dismissible">
|
||||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||||
<h4><i class="icon fa fa-ban"></i> {{__('誤差')}}:</h4>
|
<h4><i class="icon fa fa-ban"></i> {{ __('誤差') }}:</h4>
|
||||||
{!! $errorMsg !!}
|
{!! $errorMsg !!}
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-lg-12 row sample03-wrapper no_padding_right mb20">
|
<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-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">
|
<form action="{{ route('managers_delete') }}" method="post" id="form_delete">
|
||||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
@csrf
|
||||||
<table class="table dataTable">
|
<table class="table dataTable">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
@ -76,142 +82,130 @@
|
|||||||
<tr role="row">
|
<tr role="row">
|
||||||
<td>
|
<td>
|
||||||
<input type="checkbox" class="minimal m-0 checkbox"
|
<input type="checkbox" class="minimal m-0 checkbox"
|
||||||
value="{{$item->manager_id}}" name="pk[]">
|
value="{{ $item->manager_id }}" name="pk[]">
|
||||||
<div class="btn_action">
|
<div class="btn_action">
|
||||||
{{--<a href="{{route('manager_add')}}" class="btn btn-sm btn-default">詳細</a>--}}
|
{{-- <a href="{{ route('managers_add') }}" class="btn btn-sm btn-default">詳細</a> --}}
|
||||||
<a href="{{route('manager_info',['pk'=>$item->manager_id])}}"
|
<a href="{{ route('managers_info', ['manager_id' => $item->manager_id]) }}"
|
||||||
class="btn btn-sm btn-default ml10">{{__('編集')}}</a>
|
class="btn btn-sm btn-default ml10">{{ __('編集') }}</a>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
</tr>
|
</tr>
|
||||||
@endforeach
|
@endforeach
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</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="col-lg-10 col-xl-10 col-md-10 col-sm-9 col-xs-9 table_right no_padding_right">
|
||||||
<div class="scroll">
|
<div class="scroll">
|
||||||
<table class="table dataTable">
|
<table class="table dataTable">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<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>
|
||||||
|
|
||||||
<!-- 駐車場管理者ID -->
|
{{-- 駐車場管理者名 --}}
|
||||||
<th class="sorting @if($sort=="manager_id"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
<th class="sorting @if($sort=='manager_name'){{ $sort_type=='asc'?'sorting_asc':'sorting_desc' }}@endif"
|
||||||
sort="manager_id"><span>{{__('validation.attributes.manager_id')}}</span>
|
sort="manager_name"><span>{{ __('validation.attributes.manager_name') }}</span></th>
|
||||||
</th>
|
|
||||||
|
|
||||||
<!-- 駐車場管理者名 -->
|
{{-- 種別 --}}
|
||||||
<th class="sorting @if($sort=="manager_name"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
<th><span>{{ __('validation.attributes.manager_type') }}</span></th>
|
||||||
sort="manager_name"><span>{{__('validation.attributes.manager_name')}}</span>
|
|
||||||
</th>
|
|
||||||
<!-- 種別 -->
|
|
||||||
<th><span>{{__('validation.attributes.manager_type')}}</span>
|
|
||||||
</th>
|
|
||||||
|
|
||||||
<!-- 所属駐車場ID -->
|
{{-- 所属駐車場ID --}}
|
||||||
<th class="sorting @if($sort=="manager_parkid"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
<th class="sorting @if($sort=='manager_parkid'){{ $sort_type=='asc'?'sorting_asc':'sorting_desc' }}@endif"
|
||||||
sort="manager_parkid">
|
sort="manager_parkid"><span>{{ __('validation.attributes.manager_parkid') }}</span></th>
|
||||||
<span>{{__('validation.attributes.manager_parkid')}}</span>
|
|
||||||
</th>
|
{{-- 管理デバイス1/2 --}}
|
||||||
<!-- 管理デバイス1_ID -->
|
<th><span>{{ __('validation.attributes.manager_device1') }}</span></th>
|
||||||
<th>
|
<th><span>{{ __('validation.attributes.manager_device2') }}</span></th>
|
||||||
<span>{{__('validation.attributes.manager_device1')}}</span>
|
|
||||||
</th>
|
{{-- メール --}}
|
||||||
<!-- 管理デバイス2_ID -->
|
<th><span>{{ __('validation.attributes.manager_mail') }}</span></th>
|
||||||
<th>
|
|
||||||
<span>{{__('validation.attributes.manager_device2')}}</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>
|
||||||
<th><span>{{__('validation.attributes.manager_mail')}}</span>
|
|
||||||
</th>
|
{{-- アラート1(★sort 修正済) --}}
|
||||||
<!-- 電話番号 -->
|
<th class="sorting @if($sort=='manager_alert1'){{ $sort_type=='asc'?'sorting_asc':'sorting_desc' }}@endif"
|
||||||
<th class="sorting @if($sort=="manager_tel"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
sort="manager_alert1"><span>{{ __('validation.attributes.manager_alert1') }}</span></th>
|
||||||
sort="manager_tel"><span>{{__('validation.attributes.manager_tel')}}</span>
|
|
||||||
</th>
|
{{-- アラート2 --}}
|
||||||
<!-- アラート1送信 -->
|
<th class="sorting @if($sort=='manager_alert2'){{ $sort_type=='asc'?'sorting_asc':'sorting_desc' }}@endif"
|
||||||
<th class="sorting @if($sort=="manager_alert1"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
sort="manager_alert2"><span>{{ __('validation.attributes.manager_alert2') }}</span></th>
|
||||||
sort="manager_"><span>{{__('validation.attributes.manager_alert1')}}</span>
|
|
||||||
</th>
|
{{-- 退職フラグ --}}
|
||||||
<!-- アラート2送信 -->
|
<th class="sorting @if($sort=='manager_quit_flag'){{ $sort_type=='asc'?'sorting_asc':'sorting_desc' }}@endif"
|
||||||
<th class="sorting @if($sort=="manager_alert2"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
sort="manager_quit_flag"><span>{{ __('validation.attributes.manager_quit_flag') }}</span></th>
|
||||||
sort="manager_alert2">
|
|
||||||
<span>{{__('validation.attributes.manager_alert2')}}</span>
|
{{-- 退職日 --}}
|
||||||
</th>
|
<th><span>{{ __('validation.attributes.manager_quitday') }}</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>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
|
||||||
<tbody>
|
<tbody>
|
||||||
@foreach($list as $item)
|
@foreach($list as $item)
|
||||||
<tr>
|
<tr>
|
||||||
|
|
||||||
<!-- 駐車場管理者ID -->
|
|
||||||
<td class='sm-item text-left'>
|
<td class='sm-item text-left'>
|
||||||
<span>{{mb_substr($item->manager_id, 0, 10)}}</span></td>
|
<span>{{ mb_substr($item->manager_id, 0, 10) }}</span>
|
||||||
|
|
||||||
<!-- 駐車場管理者名 -->
|
|
||||||
<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>
|
|
||||||
|
|
||||||
<!-- 所属駐車場ID -->
|
|
||||||
<td class='sm-item text-right'>
|
|
||||||
<span>{{mb_substr(!empty($item->getPark())? $item->getPark()->park_name :"" , 0, 10)}}</span>
|
|
||||||
</td>
|
</td>
|
||||||
<!-- 管理デバイス1_ID -->
|
|
||||||
<td class='sm-item text-right'>
|
<td class='sm-item text-right'>
|
||||||
<span>{{mb_substr(!empty($item->getDevice1())?$item->getDevice1()->device_subject:"", 0, 10)}}</span>
|
<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>
|
||||||
<!-- 管理デバイス2_ID -->
|
|
||||||
<td class='sm-item text-right'>
|
<td class='sm-item text-right'>
|
||||||
<span>{{mb_substr(!empty($item->getDevice2())?$item->getDevice2()->device_subject:"", 0, 10)}}</span>
|
<span>{{ mb_substr(!empty($item->getPark()) ? $item->getPark()->park_name : "", 0, 10) }}</span>
|
||||||
</td>
|
</td>
|
||||||
<!-- メールアドレス -->
|
<td class='sm-item text-right'>
|
||||||
<td class='sm-item text-left'>
|
<span>{{ mb_substr(!empty($item->getDevice1()) ? $item->getDevice1()->device_subject : "", 0, 10) }}</span>
|
||||||
<span>{{mb_substr($item->manager_mail, 0, 20)}}</span></td>
|
</td>
|
||||||
<!-- 電話番号 -->
|
<td class='sm-item text-right'>
|
||||||
<td class='sm-item text-left'>
|
<span>{{ mb_substr(!empty($item->getDevice2()) ? $item->getDevice2()->device_subject : "", 0, 10) }}</span>
|
||||||
<span>{{mb_substr($item->manager_tel, 0, 20)}}</span></td>
|
|
||||||
<!-- アラート1送信 -->
|
|
||||||
<td class='sm-item text-left'>
|
|
||||||
<span>{{mb_substr($item->manager_alert1, 0, 20)}}</span>
|
|
||||||
</td>
|
</td>
|
||||||
<!-- アラート2送信 -->
|
|
||||||
<td class='sm-item text-left'>
|
<td class='sm-item text-left'>
|
||||||
<span>{{mb_substr($item->manager_alert2, 0, 20)}}</span></td>
|
<span>{{ mb_substr($item->manager_mail, 0, 20) }}</span>
|
||||||
<!-- 退職フラグ -->
|
</td>
|
||||||
<td class='sm-item text-left'>
|
<td class='sm-item text-left'>
|
||||||
<span>{{$item->getManagerQuitFlagDisplay()}}</span></td>
|
<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'>
|
<td class='sm-item text-right'>
|
||||||
@if($item->manager_quitday)
|
@if($item->manager_quitday)
|
||||||
<span class="text-muted"><i class="fa fa-clock-o mr-1"></i>
|
<span class="text-muted"><i class="fa fa-clock-o mr-1"></i>
|
||||||
{{mb_substr($item->manager_quitday, 0, 10)}}
|
{{ mb_substr($item->manager_quitday, 0, 10) }}
|
||||||
</span>
|
</span>
|
||||||
@endif
|
@endif
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@endforeach
|
@endforeach
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<!-- /.row -->
|
</div>
|
||||||
</div><!-- /.container-fluid -->
|
|
||||||
</section>
|
</section>
|
||||||
<!-- /.content -->
|
|
||||||
|
|
||||||
@endsection
|
<script>
|
||||||
|
// 全選択
|
||||||
|
document.getElementById('checkbox_all')?.addEventListener('change', function () {
|
||||||
|
const checks = document.querySelectorAll('#form_delete .checkbox');
|
||||||
|
checks.forEach(ch => ch.checked = this.checked);
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
@endsection
|
||||||
|
|||||||
74
resources/views/admin/neighbor_stations/_form.blade.php
Normal file
74
resources/views/admin/neighbor_stations/_form.blade.php
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
@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 class="card-header">
|
||||||
|
<a href="{{ route('neighbor_stations') }}" class="btn btn-secondary">戻る</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row">
|
||||||
|
{{-- 近傍駅名 --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label class="required">{{ __('近傍駅名') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<input type="text" name="station_neighbor_station" class="form-control form-control-lg"
|
||||||
|
value="{{ old('station_neighbor_station', $station->station_neighbor_station ?? '') }}"
|
||||||
|
placeholder="{{ __('近傍駅名') }}" @if($isInfo) readonly @endif />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- フリガナ --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('フリガナ') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<input type="text" name="station_name_ruby" class="form-control form-control-lg"
|
||||||
|
value="{{ old('station_name_ruby', $station->station_name_ruby ?? '') }}"
|
||||||
|
placeholder="{{ __('フリガナ') }}" @if($isInfo) readonly @endif />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 路線名 --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('路線名') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<input type="text" name="station_route_name" class="form-control form-control-lg"
|
||||||
|
value="{{ old('station_route_name', $station->station_route_name ?? '') }}"
|
||||||
|
placeholder="{{ __('路線名') }}" @if($isInfo) readonly @endif />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- park_id --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('駐輪場ID') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<input type="number" name="park_id" class="form-control form-control-lg"
|
||||||
|
value="{{ old('park_id', $station->park_id ?? '') }}"
|
||||||
|
placeholder="{{ __('駐輪場ID') }}" @if($isInfo) readonly @endif />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- operator_id --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('オペレーターID') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<input type="number" name="operator_id" class="form-control form-control-lg"
|
||||||
|
value="{{ old('operator_id', $station->operator_id ?? '') }}"
|
||||||
|
placeholder="{{ __('オペレーターID') }}" @if($isInfo) readonly @endif />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="text-right">
|
||||||
|
<button type="submit" class="btn btn-lg btn-danger register">{{ __('保存') }}</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
145
resources/views/admin/neighbor_stations/add.blade.php
Normal file
145
resources/views/admin/neighbor_stations/add.blade.php
Normal file
@ -0,0 +1,145 @@
|
|||||||
|
@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="{{ route('neighbor_stations') }}">[東京都|〇〇駐輪場]</a></li>
|
||||||
|
<li class="breadcrumb-item active">[東京都|〇〇駐輪場] 近傍駅マスタ</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-md-8">
|
||||||
|
<form method="POST" action="{{ route('neighbor_station_add') }}">
|
||||||
|
@csrf
|
||||||
|
|
||||||
|
<table class="table table-bordered">
|
||||||
|
<tr>
|
||||||
|
<th>近傍駅ID</th>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="station_id"
|
||||||
|
class="form-control text-right bg-ro"
|
||||||
|
value="{{ old('station_id', $station->station_id ?? '') }}"
|
||||||
|
maxlength="10"
|
||||||
|
readonly>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th>駐車場ID</th>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="park_id"
|
||||||
|
class="form-control text-right bg-ro"
|
||||||
|
value="{{ old('park_id', $station->park_id ?? '') }}"
|
||||||
|
maxlength="10"
|
||||||
|
readonly>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th>近傍駅 <span class="text-danger">※</span></th>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="station_neighbor_station"
|
||||||
|
class="form-control text-left"
|
||||||
|
maxlength="10"
|
||||||
|
required
|
||||||
|
value="{{ old('station_neighbor_station', $station->station_neighbor_station ?? '') }}">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th>近傍駅ふりがな <span class="text-danger">※</span></th>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="station_name_ruby"
|
||||||
|
class="form-control text-left"
|
||||||
|
maxlength="10"
|
||||||
|
required
|
||||||
|
value="{{ old('station_name_ruby', $station->station_name_ruby ?? '') }}">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th>路線名 <span class="text-danger">※</span></th>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="station_route_name"
|
||||||
|
class="form-control text-left"
|
||||||
|
maxlength="10"
|
||||||
|
required
|
||||||
|
value="{{ old('station_route_name', $station->station_route_name ?? '') }}">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th>近傍駅座標(緯度) <span class="text-danger">※</span></th>
|
||||||
|
<td>
|
||||||
|
<input type="number" name="latitude"
|
||||||
|
class="form-control text-right"
|
||||||
|
maxlength="10"
|
||||||
|
step="any"
|
||||||
|
required
|
||||||
|
value="{{ old('latitude', $station->latitude ?? '') }}">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th>近傍駅座標(経度) <span class="text-danger">※</span></th>
|
||||||
|
<td>
|
||||||
|
<input type="number" name="longitude"
|
||||||
|
class="form-control text-right"
|
||||||
|
maxlength="10"
|
||||||
|
step="any"
|
||||||
|
required
|
||||||
|
value="{{ old('longitude', $station->longitude ?? '') }}">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<div class="text-center mt-4">
|
||||||
|
<button type="submit" class="btn btn-primary">登録</button>
|
||||||
|
|
||||||
|
<button type="button" class="btn btn-danger ml-3" onclick="confirmDelete()">削除</button>
|
||||||
|
|
||||||
|
<form id="delete-form" method="POST"
|
||||||
|
action="{{ route('neighbor_stations_delete') }}"
|
||||||
|
style="display:none;">
|
||||||
|
@csrf
|
||||||
|
<input type="hidden" name="pk[]" value="{{ old('station_id') ?? 0 }}">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@section('scripts')
|
||||||
|
<script>
|
||||||
|
function confirmDelete() {
|
||||||
|
if (confirm('削除してよろしいですか?')) {
|
||||||
|
document.getElementById('delete-form').submit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.bg-ro {
|
||||||
|
background-color: #e9ecef;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
39
resources/views/admin/neighbor_stations/edit.blade.php
Normal file
39
resources/views/admin/neighbor_stations/edit.blade.php
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
@extends('layouts.app')
|
||||||
|
@section('title', '[東京都|〇〇駐輪場] 近傍駅マスタ')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<!-- 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="#">[東京都|〇〇駐輪場]</a></li>
|
||||||
|
<li class="breadcrumb-item">近傍駅マスタ</li>
|
||||||
|
<li class="breadcrumb-item active">編集</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Main content -->
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<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">
|
||||||
|
@csrf
|
||||||
|
@include('admin.neighbor_stations._form', ['isEdit' => 1, 'isInfo' => 0, 'station' => $station])
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
@endsection
|
||||||
17
resources/views/admin/neighbor_stations/import.blade.php
Normal file
17
resources/views/admin/neighbor_stations/import.blade.php
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
{{-- 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">
|
||||||
|
@csrf
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="csv_file">CSVファイルを選択:</label>
|
||||||
|
<input type="file" name="csv_file" class="form-control" required>
|
||||||
|
</div>
|
||||||
|
<button type="submit" class="btn btn-primary">アップロード</button>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<a href="{{ route('neighbor_stations') }}" class="btn btn-secondary mt-3">戻る</a>
|
||||||
|
@endsection
|
||||||
25
resources/views/admin/neighbor_stations/info.blade.php
Normal file
25
resources/views/admin/neighbor_stations/info.blade.php
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
{{-- resources/views/admin/neighbor_stations/info.blade.php --}}
|
||||||
|
@extends('layouts.admin')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<h1>近傍駅 詳細</h1>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<label>駅名:</label>
|
||||||
|
<p>{{ $station->station_neighbor_station }}</p>
|
||||||
|
|
||||||
|
<label>駅名ふりがな:</label>
|
||||||
|
<p>{{ $station->station_name_ruby }}</p>
|
||||||
|
|
||||||
|
<label>路線名:</label>
|
||||||
|
<p>{{ $station->station_route_name }}</p>
|
||||||
|
|
||||||
|
<label>駐輪場ID:</label>
|
||||||
|
<p>{{ $station->park_id }}</p>
|
||||||
|
|
||||||
|
<label>オペレーターID:</label>
|
||||||
|
<p>{{ $station->operator_id }}</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<a href="{{ route('neighbor_stations') }}" class="btn btn-secondary">戻る</a>
|
||||||
|
@endsection
|
||||||
122
resources/views/admin/neighbor_stations/list.blade.php
Normal file
122
resources/views/admin/neighbor_stations/list.blade.php
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
@extends('layouts.app')
|
||||||
|
@section('title', '[東京都|〇〇駐輪場] 近傍駅マスタ')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<!-- 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>
|
||||||
|
|
||||||
|
<!-- Main Content -->
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<form action="{{ route('neighbor_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" id="delete">削除</button>
|
||||||
|
<button type="submit" class="btn btn-sm btn-default mr10" form="form_export">{{ __('CSV出力') }}</button>
|
||||||
|
{{ $stations->appends(['sort' => $sort ?? '', 'sort_type' => $sort_type ?? ''])->links('pagination') }}
|
||||||
|
</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>
|
||||||
|
@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('neighbor_stations_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($stations as $station)
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<input type="checkbox" class="minimal m-0 checkbox" value="{{ $station->station_id }}" name="pk[]">
|
||||||
|
<div class="btn_action">
|
||||||
|
<a href="{{ route('neighbor_station_edit', ['id' => $station->station_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=='station_id') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="station_id">
|
||||||
|
<span>近傍駅ID</span>
|
||||||
|
</th>
|
||||||
|
<th class="sorting {{ ($sort=='park_id') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="park_id">
|
||||||
|
<span>駐車場ID</span>
|
||||||
|
</th>
|
||||||
|
<th class="sorting {{ ($sort=='station_neighbor_station') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="station_neighbor_station">
|
||||||
|
<span>近傍駅</span>
|
||||||
|
</th>
|
||||||
|
<th class="sorting {{ ($sort=='station_name_ruby') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="station_name_ruby">
|
||||||
|
<span>近傍駅ふりがな</span>
|
||||||
|
</th>
|
||||||
|
<th class="sorting {{ ($sort=='station_route_name') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="station_route_name">
|
||||||
|
<span>路線名</span>
|
||||||
|
</th>
|
||||||
|
<th><span>近傍駅座標(緯度)</span></th>
|
||||||
|
<th><span>近傍駅座標(経度)</span></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@foreach($stations as $station)
|
||||||
|
<tr>
|
||||||
|
<td class="sm-item text-left">{{ $station->station_id }}</td>
|
||||||
|
<td class="sm-item text-left">{{ $station->park_id }}</td>
|
||||||
|
<td class="sm-item text-left">{{ $station->station_neighbor_station }}</td>
|
||||||
|
<td class="sm-item text-left">{{ $station->station_name_ruby }}</td>
|
||||||
|
<td class="sm-item text-left">{{ $station->station_route_name }}</td>
|
||||||
|
<td class="sm-item text-left">{{ $station->station_latitude }}</td>
|
||||||
|
<td class="sm-item text-left">{{ $station->station_longitude }}</td>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<form action="{{ route('neighbor_stations_export') }}" method="GET" id="form_export"></form>
|
||||||
|
@endsection
|
||||||
@ -18,8 +18,8 @@
|
|||||||
@endif
|
@endif
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
@if($isInfo)
|
@if($isInfo)
|
||||||
<a href="{{route('operator_que_add')}}" class="btn btn-lg btn-success">{{__('登録')}}</a>
|
<a href="{{route('operator_ques_add')}}" class="btn btn-lg btn-success">{{__('登録')}}</a>
|
||||||
<a href="{{route('operator_que_edit',['id'=>$que_id])}}" class="btn btn-lg btn-danger">{{__('編集')}}</a>
|
<a href="{{route('operator_ques_edit',['id'=>$que_id])}}" class="btn btn-lg btn-danger">{{__('編集')}}</a>
|
||||||
@else
|
@else
|
||||||
<button type="submit" class="btn btn-lg btn-danger register" >{{__('保存')}}</button>
|
<button type="submit" class="btn btn-lg btn-danger register" >{{__('保存')}}</button>
|
||||||
@endIf
|
@endIf
|
||||||
@ -90,17 +90,22 @@
|
|||||||
|
|
||||||
<!-- キュー種別 -->
|
<!-- キュー種別 -->
|
||||||
<div class="form-group col-3">
|
<div class="form-group col-3">
|
||||||
<label @if(!$isInfo) class="required" @endif>{{__('validation.attributes.que_class')}}</label>
|
<label @if(!$isInfo) class="required" @endif>
|
||||||
|
{{ __('validation.attributes.que_class') }}
|
||||||
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<select class="form-control form-control-lg" name="que_class" @if($isInfo) disabled @endif>
|
<select class="form-control form-control-lg" name="que_class" @if($isInfo) disabled @endif>
|
||||||
<option value="">{{__('validation.attributes.que_class')}}</option>
|
<option value="">{{ __('validation.attributes.que_class') }}</option>
|
||||||
@foreach(\App\OperatorQue::QueClass as $key => $item)
|
@foreach(\App\Models\OperatorQue::QueClass as $key => $item)
|
||||||
<option value="{{$key}}" @if($key == $que_class) selected @endif>{{$item}}</option>
|
<option value="{{ $key }}" @if($key == $que_class) selected @endif>
|
||||||
|
{{ $item }}
|
||||||
|
</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<!-- キューコメント -->
|
<!-- キューコメント -->
|
||||||
<div class="form-group col-3">
|
<div class="form-group col-3">
|
||||||
<label>{{__('validation.attributes.que_comment')}}</label>
|
<label>{{__('validation.attributes.que_comment')}}</label>
|
||||||
@ -116,13 +121,17 @@
|
|||||||
|
|
||||||
<!-- キューステータス -->
|
<!-- キューステータス -->
|
||||||
<div class="form-group col-3">
|
<div class="form-group col-3">
|
||||||
<label @if(!$isInfo) class="required" @endif>{{__('validation.attributes.que_status')}}</label>
|
<label @if(!$isInfo) class="required" @endif>
|
||||||
|
{{ __('validation.attributes.que_status') }}
|
||||||
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<select class="form-control form-control-lg" name="que_status" @if($isInfo) disabled @endif>
|
<select class="form-control form-control-lg" name="que_status" @if($isInfo) disabled @endif>
|
||||||
<option value="">{{__('validation.attributes.que_status')}}</option>
|
<option value="">{{ __('validation.attributes.que_status') }}</option>
|
||||||
@foreach(\App\OperatorQue::QueStatus as $key => $item)
|
@foreach(\App\Models\OperatorQue::QueStatus as $key => $item)
|
||||||
<option value="{{$key}}" @if($key == $que_status) selected @endif>{{$item}}</option>
|
<option value="{{ $key }}" @if($key == $que_status) selected @endif>
|
||||||
|
{{ $item }}
|
||||||
|
</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
@ -141,8 +150,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@if($isInfo)
|
@if($isInfo)
|
||||||
<a href="{{route('operator_que_add')}}" class="btn btn-lg btn-success">{{__('登録')}}</a>
|
<a href="{{route('operator_ques_add')}}" class="btn btn-lg btn-success">{{__('登録')}}</a>
|
||||||
<a href="{{route('operator_que_edit',['id'=>$que_id])}}" class="btn btn-lg btn-danger">{{__('編集')}}</a>
|
<a href="{{route('operator_ques_edit',['id'=>$que_id])}}" class="btn btn-lg btn-danger">{{__('編集')}}</a>
|
||||||
@else
|
@else
|
||||||
<button type="submit" class="btn btn-lg btn-danger register" >{{__('保存')}}</button>
|
<button type="submit" class="btn btn-lg btn-danger register" >{{__('保存')}}</button>
|
||||||
@endIf
|
@endIf
|
||||||
|
|||||||
@ -31,7 +31,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<form method="post" action="{{ route('operator_que_add')}}" enctype="multipart/form-data">
|
<form method="post" action="{{ route('operator_ques_add')}}" enctype="multipart/form-data">
|
||||||
<!-- TOKEN FORM -->
|
<!-- TOKEN FORM -->
|
||||||
<input type="hidden" name="_token" value="{{ csrf_token() }}" >
|
<input type="hidden" name="_token" value="{{ csrf_token() }}" >
|
||||||
<!-- / .TOKEN FORM -->
|
<!-- / .TOKEN FORM -->
|
||||||
|
|||||||
@ -31,7 +31,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<form method="post" action="{{ route('operator_que_edit',['id'=>$que_id])}}" enctype="multipart/form-data">
|
<form method="post" action="{{ route('operator_ques_edit',['id'=>$que_id])}}" enctype="multipart/form-data">
|
||||||
<!-- TOKEN FORM -->
|
<!-- TOKEN FORM -->
|
||||||
<input type="hidden" name="_token" value="{{ csrf_token() }}" >
|
<input type="hidden" name="_token" value="{{ csrf_token() }}" >
|
||||||
<!-- / .TOKEN FORM -->
|
<!-- / .TOKEN FORM -->
|
||||||
|
|||||||
@ -31,7 +31,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<form method="post" action="{{ route('operator_que_info',['id'=>$que_id])}}" enctype="multipart/form-data">
|
<form method="post" action="{{ route('operator_ques_info',['id'=>$que_id])}}" enctype="multipart/form-data">
|
||||||
<!-- TOKEN FORM -->
|
<!-- TOKEN FORM -->
|
||||||
<input type="hidden" name="_token" value="{{ csrf_token() }}" >
|
<input type="hidden" name="_token" value="{{ csrf_token() }}" >
|
||||||
<!-- / .TOKEN FORM -->
|
<!-- / .TOKEN FORM -->
|
||||||
|
|||||||
@ -21,6 +21,47 @@
|
|||||||
|
|
||||||
<!-- Main content -->
|
<!-- Main content -->
|
||||||
<section class="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>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<!-- SELECT2 EXAMPLE -->
|
<!-- SELECT2 EXAMPLE -->
|
||||||
|
|
||||||
@ -76,14 +117,18 @@
|
|||||||
<tr role="row">
|
<tr role="row">
|
||||||
<td>
|
<td>
|
||||||
<input type="checkbox" class="minimal m-0 checkbox"
|
<input type="checkbox" class="minimal m-0 checkbox"
|
||||||
value="{{$item->que_id}}" name="pk[]">
|
value="{{ $item->que_id }}" name="pk[]">
|
||||||
<div class="btn_action">
|
<div class="btn_action">
|
||||||
{{--<a href="{{route('operator_que_add')}}" class="btn btn-sm btn-default">詳細</a>--}}
|
{{-- 詳細 --}}
|
||||||
<a href="{{route('operator_que_info',['pk'=>$item->que_id])}}"
|
{{-- <a href="{{ route('operator_ques_add') }}" class="btn btn-sm btn-default">詳細</a> --}}
|
||||||
class="btn btn-sm btn-default ml10">{{__('編集')}}</a>
|
|
||||||
|
{{-- 編集 --}}
|
||||||
|
<a href="{{ route('operator_ques_info', ['id' => $item->que_id]) }}"
|
||||||
|
class="btn btn-sm btn-default ml10">{{ __('編集') }}</a>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
|
|
||||||
</tr>
|
</tr>
|
||||||
@endforeach
|
@endforeach
|
||||||
</tbody>
|
</tbody>
|
||||||
@ -154,16 +199,20 @@
|
|||||||
<!-- 駐輪場 -->
|
<!-- 駐輪場 -->
|
||||||
<td class='sm-item text-right'>
|
<td class='sm-item text-right'>
|
||||||
<span>{{mb_substr(!empty($item->getPark())?$item->getPark()->park_name:"", 0, 10)}}</span></td>
|
<span>{{mb_substr(!empty($item->getPark())?$item->getPark()->park_name:"", 0, 10)}}</span></td>
|
||||||
<!-- キュー種別 -->
|
<!-- キュー種別 -->
|
||||||
<td class='sm-item text-right'>
|
<td class='sm-item text-right'>
|
||||||
<span>{{mb_substr(__(\App\OperatorQue::QueClass[$item->que_class]), 0, 10)}}</span></td>
|
<span>{{ mb_substr($item->getQueClassLabel(), 0, 10) }}</span>
|
||||||
|
</td>
|
||||||
|
|
||||||
<!-- キューコメント -->
|
<!-- キューコメント -->
|
||||||
<td class='sm-item text-right'>
|
<td class='sm-item text-right'>
|
||||||
<span>{{mb_substr($item->que_comment, 0, 20)}}</span></td>
|
<span>{{ mb_substr($item->que_comment, 0, 20) }}</span>
|
||||||
|
</td>
|
||||||
|
|
||||||
<!-- キューステータス -->
|
<!-- キューステータス -->
|
||||||
<td class='sm-item text-right'>
|
<td class='sm-item text-right'>
|
||||||
<span>{{mb_substr(__(\App\OperatorQue::QueStatus[$item->que_status]), 0, 10)}}</span></td>
|
<span>{{ mb_substr($item->getQueStatusLabel(), 0, 10) }}</span>
|
||||||
|
</td>
|
||||||
|
|
||||||
<!-- キューステータスコメント -->
|
<!-- キューステータスコメント -->
|
||||||
<td class='sm-item text-right'>
|
<td class='sm-item text-right'>
|
||||||
|
|||||||
@ -16,14 +16,16 @@
|
|||||||
{!! $errorMsg !!}
|
{!! $errorMsg !!}
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
@if($isInfo)
|
@if($isInfo)
|
||||||
<a href="{{route('ope_add')}}" class="btn btn-lg btn-success">{{__('登録')}}</a>
|
<a href="{{ route('opes_add') }}" class="btn btn-lg btn-success">{{__('登録')}}</a>
|
||||||
<a href="{{route('ope_edit',['id'=>$ope_id])}}" class="btn btn-lg btn-danger">{{__('編集')}}</a>
|
<a href="{{ route('opes_edit',['id'=>$ope_id]) }}" class="btn btn-lg btn-danger">{{__('編集')}}</a>
|
||||||
@else
|
@else
|
||||||
<button type="submit" class="btn btn-lg btn-danger register" >{{__('保存')}}</button>
|
<button type="submit" class="btn btn-lg btn-danger register">{{__('保存')}}</button>
|
||||||
@endIf
|
@endif
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
@if($isInfo || $isEdit)
|
@if($isInfo || $isEdit)
|
||||||
@ -33,57 +35,60 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<input type="text" value="{{$ope_id}}" @if(!$isInfo) placeholder="{{__('validation.attributes.ope_id')}}" @endif
|
<input type="text" value="{{ $ope_id }}"
|
||||||
class="form-control form-control-lg" readonly/>
|
class="form-control form-control-lg" readonly/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
<!-- オペレータ名 -->
|
<!-- オペレータ名 -->
|
||||||
<div class="form-group col-3">
|
<div class="form-group col-3">
|
||||||
<label @if(!$isInfo) class="required" @endif>{{__('validation.attributes.ope_name')}}</label>
|
<label @if(!$isInfo) class="required" @endif>{{__('validation.attributes.ope_name')}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<input type="text" value="{{$ope_name}}" @if(!$isInfo) placeholder="{{__('validation.attributes.ope_name')}}" @endif
|
<input type="text" value="{{ $ope_name }}"
|
||||||
name="ope_name"
|
name="ope_name"
|
||||||
class="form-control form-control-lg" @if($isInfo) readonly @endif/>
|
class="form-control form-control-lg"
|
||||||
|
@if($isInfo) readonly @else placeholder="{{__('validation.attributes.ope_name')}}" @endif/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- /.form group - オペレータ名 -->
|
<!-- /.form group - オペレータ名 -->
|
||||||
|
|
||||||
@if(!$isInfo)
|
@if(!$isInfo)
|
||||||
<div class="form-group col-3">
|
<div class="form-group col-3">
|
||||||
<label @if(!$isInfo) class="required" @endif>{{__('validation.attributes.password')}}</label>
|
<label class="required">{{__('validation.attributes.password')}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<input type="password" name="password" class="form-control form-control-lg"
|
<input type="password" name="password" class="form-control form-control-lg"
|
||||||
@if(!$isInfo) placeholder="{{__('validation.attributes.ope_name')}}" @endif>
|
placeholder="{{__('validation.attributes.password')}}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-3">
|
<div class="form-group col-3">
|
||||||
<label @if(!$isInfo) class="required" @endif>{{__('validation.attributes.password_confirmation')}}</label>
|
<label class="required">{{__('validation.attributes.password_confirmation')}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<input type="password" name="password_confirmation" class="form-control form-control-lg"
|
<input type="password" name="password_confirmation" class="form-control form-control-lg"
|
||||||
@if(!$isInfo) placeholder="{{__('validation.attributes.password_confirmation')}}" @endif>
|
placeholder="{{__('validation.attributes.password_confirmation')}}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
<!-- オペレータ種別 -->
|
<!-- オペレータ種別 -->
|
||||||
<div class="form-group col-3">
|
<div class="form-group col-3">
|
||||||
<label @if(!$isInfo) class="required" @endif>{{__('validation.attributes.ope_type')}}</label>
|
<label @if(!$isInfo) class="required" @endif>{{__('validation.attributes.ope_type')}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<select name="ope_type" class="form-control form-control-lg" @if($isInfo) disabled @endif>
|
<select name="ope_type" class="form-control form-control-lg" @if($isInfo) disabled @endif>
|
||||||
<option value="">{{__('validation.attributes.ope_type')}}</option>
|
<option value="">{{ __('validation.attributes.ope_type') }}</option>
|
||||||
@foreach(\App\Ope::OPE_TYPE as $key => $item)
|
@foreach(\App\Models\Ope::OPE_TYPE as $key => $item)
|
||||||
<option value="{{$key}}" @if($key == $ope_type) selected @endif>{{$item}}</option>
|
<option value="{{ $key }}" @if($key == $ope_type) selected @endif>{{ $item }}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- /.form group - オペレータ種別 -->
|
<!-- /.form group - オペレータ種別 -->
|
||||||
@ -94,9 +99,10 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<input type="text" value="{{$ope_mail}}" @if(!$isInfo) placeholder="{{__('validation.attributes.ope_mail')}}" @endif
|
<input type="text" value="{{ $ope_mail }}"
|
||||||
name="ope_mail"
|
name="ope_mail"
|
||||||
class="form-control form-control-lg" @if($isInfo) readonly @endif/>
|
class="form-control form-control-lg"
|
||||||
|
@if($isInfo) readonly @else placeholder="{{__('validation.attributes.ope_mail')}}" @endif/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- /.form group - メールアドレス -->
|
<!-- /.form group - メールアドレス -->
|
||||||
@ -107,29 +113,26 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<input type="text" value="{{$ope_phone}}" @if(!$isInfo) placeholder="{{__('validation.attributes.ope_phone')}}" @endif
|
<input type="text" value="{{ $ope_phone }}"
|
||||||
name="ope_phone"
|
name="ope_phone"
|
||||||
class="form-control form-control-lg" @if($isInfo) readonly @endif/>
|
class="form-control form-control-lg"
|
||||||
|
@if($isInfo) readonly @else placeholder="{{__('validation.attributes.ope_phone')}}" @endif/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- /.form group - 電話番号 -->
|
<!-- /.form group - 電話番号 -->
|
||||||
|
|
||||||
<!-- キュー1アラート送信 -->
|
<!-- キュー1アラート送信 -->
|
||||||
<div class="form-group col-3">
|
<div class="form-group col-3">
|
||||||
<label>{{__('validation.attributes.ope_sendalart_que1')}}</label>
|
<label>{{__('validation.attributes.ope_sendalart_que1')}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-2 offset-1 form-check">
|
<div class="col-2 offset-1 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_sendalart_que1" @if($isInfo) disabled @endif value="1" {{$ope_sendalart_que1? 'checked':''}}>
|
||||||
name="ope_sendalart_que1" @if($isInfo) disabled @endif
|
|
||||||
value="1" {{$ope_sendalart_que1? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("はい")}}</label>
|
<label class="form-check-label">{{__("はい")}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-2 form-check">
|
<div class="col-2 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_sendalart_que1" @if($isInfo) disabled @endif value="0" {{!$ope_sendalart_que1? 'checked':''}}>
|
||||||
name="ope_sendalart_que1" @if($isInfo) disabled @endif
|
|
||||||
value="0" {{!$ope_sendalart_que1? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("いいえ")}}</label>
|
<label class="form-check-label">{{__("いいえ")}}</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -143,15 +146,11 @@
|
|||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-2 offset-1 form-check">
|
<div class="col-2 offset-1 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_sendalart_que2" @if($isInfo) disabled @endif value="1" {{$ope_sendalart_que2? 'checked':''}}>
|
||||||
name="ope_sendalart_que2" @if($isInfo) disabled @endif
|
|
||||||
value="1" {{$ope_sendalart_que2? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("はい")}}</label>
|
<label class="form-check-label">{{__("はい")}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-2 form-check">
|
<div class="col-2 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_sendalart_que2" @if($isInfo) disabled @endif value="0" {{!$ope_sendalart_que2? 'checked':''}}>
|
||||||
name="ope_sendalart_que2" @if($isInfo) disabled @endif
|
|
||||||
value="0" {{!$ope_sendalart_que2? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("いいえ")}}</label>
|
<label class="form-check-label">{{__("いいえ")}}</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -165,15 +164,11 @@
|
|||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-2 offset-1 form-check">
|
<div class="col-2 offset-1 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_sendalart_que3" @if($isInfo) disabled @endif value="1" {{$ope_sendalart_que3? 'checked':''}}>
|
||||||
name="ope_sendalart_que3" @if($isInfo) disabled @endif
|
|
||||||
value="1" {{$ope_sendalart_que3? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("はい")}}</label>
|
<label class="form-check-label">{{__("はい")}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-2 form-check">
|
<div class="col-2 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_sendalart_que3" @if($isInfo) disabled @endif value="0" {{!$ope_sendalart_que3? 'checked':''}}>
|
||||||
name="ope_sendalart_que3" @if($isInfo) disabled @endif
|
|
||||||
value="0" {{!$ope_sendalart_que3? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("いいえ")}}</label>
|
<label class="form-check-label">{{__("いいえ")}}</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -187,15 +182,11 @@
|
|||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-2 offset-1 form-check">
|
<div class="col-2 offset-1 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_sendalart_que4" @if($isInfo) disabled @endif value="1" {{$ope_sendalart_que4? 'checked':''}}>
|
||||||
name="ope_sendalart_que4" @if($isInfo) disabled @endif
|
|
||||||
value="1" {{$ope_sendalart_que4? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("はい")}}</label>
|
<label class="form-check-label">{{__("はい")}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-2 form-check">
|
<div class="col-2 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_sendalart_que4" @if($isInfo) disabled @endif value="0" {{!$ope_sendalart_que4? 'checked':''}}>
|
||||||
name="ope_sendalart_que4" @if($isInfo) disabled @endif
|
|
||||||
value="0" {{!$ope_sendalart_que4? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("いいえ")}}</label>
|
<label class="form-check-label">{{__("いいえ")}}</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -209,15 +200,11 @@
|
|||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-2 offset-1 form-check">
|
<div class="col-2 offset-1 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_sendalart_que5" @if($isInfo) disabled @endif value="1" {{$ope_sendalart_que5? 'checked':''}}>
|
||||||
name="ope_sendalart_que5" @if($isInfo) disabled @endif
|
|
||||||
value="1" {{$ope_sendalart_que5? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("はい")}}</label>
|
<label class="form-check-label">{{__("はい")}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-2 form-check">
|
<div class="col-2 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_sendalart_que5" @if($isInfo) disabled @endif value="0" {{!$ope_sendalart_que5? 'checked':''}}>
|
||||||
name="ope_sendalart_que5" @if($isInfo) disabled @endif
|
|
||||||
value="0" {{!$ope_sendalart_que5? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("いいえ")}}</label>
|
<label class="form-check-label">{{__("いいえ")}}</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -231,15 +218,11 @@
|
|||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-2 offset-1 form-check">
|
<div class="col-2 offset-1 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_sendalart_que6" @if($isInfo) disabled @endif value="1" {{$ope_sendalart_que6? 'checked':''}}>
|
||||||
name="ope_sendalart_que6" @if($isInfo) disabled @endif
|
|
||||||
value="1" {{$ope_sendalart_que6? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("はい")}}</label>
|
<label class="form-check-label">{{__("はい")}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-2 form-check">
|
<div class="col-2 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_sendalart_que6" @if($isInfo) disabled @endif value="0" {{!$ope_sendalart_que6? 'checked':''}}>
|
||||||
name="ope_sendalart_que6" @if($isInfo) disabled @endif
|
|
||||||
value="0" {{!$ope_sendalart_que6? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("いいえ")}}</label>
|
<label class="form-check-label">{{__("いいえ")}}</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -253,15 +236,11 @@
|
|||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-2 offset-1 form-check">
|
<div class="col-2 offset-1 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_sendalart_que7" @if($isInfo) disabled @endif value="1" {{$ope_sendalart_que7? 'checked':''}}>
|
||||||
name="ope_sendalart_que7" @if($isInfo) disabled @endif
|
|
||||||
value="1" {{$ope_sendalart_que7? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("はい")}}</label>
|
<label class="form-check-label">{{__("はい")}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-2 form-check">
|
<div class="col-2 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_sendalart_que7" @if($isInfo) disabled @endif value="0" {{!$ope_sendalart_que7? 'checked':''}}>
|
||||||
name="ope_sendalart_que7" @if($isInfo) disabled @endif
|
|
||||||
value="0" {{!$ope_sendalart_que7? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("いいえ")}}</label>
|
<label class="form-check-label">{{__("いいえ")}}</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -275,15 +254,11 @@
|
|||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-2 offset-1 form-check">
|
<div class="col-2 offset-1 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_sendalart_que8" @if($isInfo) disabled @endif value="1" {{$ope_sendalart_que8? 'checked':''}}>
|
||||||
name="ope_sendalart_que8" @if($isInfo) disabled @endif
|
|
||||||
value="1" {{$ope_sendalart_que8? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("はい")}}</label>
|
<label class="form-check-label">{{__("はい")}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-2 form-check">
|
<div class="col-2 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_sendalart_que8" @if($isInfo) disabled @endif value="0" {{!$ope_sendalart_que8? 'checked':''}}>
|
||||||
name="ope_sendalart_que8" @if($isInfo) disabled @endif
|
|
||||||
value="0" {{!$ope_sendalart_que8? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("いいえ")}}</label>
|
<label class="form-check-label">{{__("いいえ")}}</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -296,15 +271,11 @@
|
|||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-2 offset-1 form-check">
|
<div class="col-2 offset-1 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_sendalart_que9" @if($isInfo) disabled @endif value="1" {{$ope_sendalart_que9? 'checked':''}}>
|
||||||
name="ope_sendalart_que9" @if($isInfo) disabled @endif
|
|
||||||
value="1" {{$ope_sendalart_que9? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("はい")}}</label>
|
<label class="form-check-label">{{__("はい")}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-2 form-check">
|
<div class="col-2 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_sendalart_que9" @if($isInfo) disabled @endif value="0" {{!$ope_sendalart_que9? 'checked':''}}>
|
||||||
name="ope_sendalart_que9" @if($isInfo) disabled @endif
|
|
||||||
value="0" {{!$ope_sendalart_que9? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("いいえ")}}</label>
|
<label class="form-check-label">{{__("いいえ")}}</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -317,15 +288,11 @@
|
|||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-2 offset-1 form-check">
|
<div class="col-2 offset-1 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_sendalart_que10" @if($isInfo) disabled @endif value="1" {{$ope_sendalart_que10? 'checked':''}}>
|
||||||
name="ope_sendalart_que10" @if($isInfo) disabled @endif
|
|
||||||
value="1" {{$ope_sendalart_que10? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("はい")}}</label>
|
<label class="form-check-label">{{__("はい")}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-2 form-check">
|
<div class="col-2 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_sendalart_que10" @if($isInfo) disabled @endif value="0" {{!$ope_sendalart_que10? 'checked':''}}>
|
||||||
name="ope_sendalart_que10" @if($isInfo) disabled @endif
|
|
||||||
value="0" {{!$ope_sendalart_que10? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("いいえ")}}</label>
|
<label class="form-check-label">{{__("いいえ")}}</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -338,15 +305,11 @@
|
|||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-2 offset-1 form-check">
|
<div class="col-2 offset-1 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_sendalart_que11" @if($isInfo) disabled @endif value="1" {{$ope_sendalart_que11? 'checked':''}}>
|
||||||
name="ope_sendalart_que11" @if($isInfo) disabled @endif
|
|
||||||
value="1" {{$ope_sendalart_que11? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("はい")}}</label>
|
<label class="form-check-label">{{__("はい")}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-2 form-check">
|
<div class="col-2 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_sendalart_que11" @if($isInfo) disabled @endif value="0" {{!$ope_sendalart_que11? 'checked':''}}>
|
||||||
name="ope_sendalart_que11" @if($isInfo) disabled @endif
|
|
||||||
value="0" {{!$ope_sendalart_que11? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("いいえ")}}</label>
|
<label class="form-check-label">{{__("いいえ")}}</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -359,15 +322,11 @@
|
|||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-2 offset-1 form-check">
|
<div class="col-2 offset-1 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_sendalart_que12" @if($isInfo) disabled @endif value="1" {{$ope_sendalart_que12? 'checked':''}}>
|
||||||
name="ope_sendalart_que12" @if($isInfo) disabled @endif
|
|
||||||
value="1" {{$ope_sendalart_que12? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("はい")}}</label>
|
<label class="form-check-label">{{__("はい")}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-2 form-check">
|
<div class="col-2 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_sendalart_que12" @if($isInfo) disabled @endif value="0" {{!$ope_sendalart_que12? 'checked':''}}>
|
||||||
name="ope_sendalart_que12" @if($isInfo) disabled @endif
|
|
||||||
value="0" {{!$ope_sendalart_que12? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("いいえ")}}</label>
|
<label class="form-check-label">{{__("いいえ")}}</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -380,15 +339,11 @@
|
|||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-2 offset-1 form-check">
|
<div class="col-2 offset-1 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_sendalart_que13" @if($isInfo) disabled @endif value="1" {{$ope_sendalart_que13? 'checked':''}}>
|
||||||
name="ope_sendalart_que13" @if($isInfo) disabled @endif
|
|
||||||
value="1" {{$ope_sendalart_que13? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("はい")}}</label>
|
<label class="form-check-label">{{__("はい")}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-2 form-check">
|
<div class="col-2 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_sendalart_que13" @if($isInfo) disabled @endif value="0" {{!$ope_sendalart_que13? 'checked':''}}>
|
||||||
name="ope_sendalart_que13" @if($isInfo) disabled @endif
|
|
||||||
value="0" {{!$ope_sendalart_que13? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("いいえ")}}</label>
|
<label class="form-check-label">{{__("いいえ")}}</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -401,15 +356,11 @@
|
|||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-3 offset-1 form-check">
|
<div class="col-3 offset-1 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_auth1" @if($isInfo) disabled @endif value="{{__("管理者権限付与")}}" {{$ope_auth1 == __("管理者権限付与")? 'checked':''}}>
|
||||||
name="ope_auth1" @if($isInfo) disabled @endif
|
|
||||||
value="{{__("管理者権限付与")}}" {{$ope_auth1 == __("管理者権限付与")? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("管理者権限付与")}}</label>
|
<label class="form-check-label">{{__("管理者権限付与")}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-2 form-check">
|
<div class="col-2 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_auth1" @if($isInfo) disabled @endif value="{{__("付与しない")}}" {{$ope_auth1 == __("付与しない")? 'checked':''}}>
|
||||||
name="ope_auth1" @if($isInfo) disabled @endif
|
|
||||||
value="{{__("付与しない")}}" {{$ope_auth1 == __("付与しない")? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("付与しない")}}</label>
|
<label class="form-check-label">{{__("付与しない")}}</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -422,15 +373,11 @@
|
|||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-4 offset-1 form-check">
|
<div class="col-4 offset-1 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_auth2" @if($isInfo) disabled @endif value="{{__("エリアマネージャー権限付与")}}" {{$ope_auth2 == __("エリアマネージャー権限付与")? 'checked':''}}>
|
||||||
name="ope_auth2" @if($isInfo) disabled @endif
|
|
||||||
value="{{__("エリアマネージャー権限付与")}}" {{$ope_auth2 == __("エリアマネージャー権限付与")? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("エリアマネージャー権限付与")}}</label>
|
<label class="form-check-label">{{__("エリアマネージャー権限付与")}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-2 form-check">
|
<div class="col-2 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_auth2" @if($isInfo) disabled @endif value="{{__("付与しない")}}" {{$ope_auth2 == __("付与しない")? 'checked':''}}>
|
||||||
name="ope_auth2" @if($isInfo) disabled @endif
|
|
||||||
value="{{__("付与しない")}}" {{$ope_auth2 == __("付与しない")? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("付与しない")}}</label>
|
<label class="form-check-label">{{__("付与しない")}}</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -443,15 +390,11 @@
|
|||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-4 offset-1 form-check">
|
<div class="col-4 offset-1 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_auth3" @if($isInfo) disabled @endif value="{{__("エリアオペレーター権限付与")}}" {{$ope_auth3 == __("エリアオペレーター権限付与")? 'checked':''}}>
|
||||||
name="ope_auth3" @if($isInfo) disabled @endif
|
|
||||||
value="{{__("エリアオペレーター権限付与")}}" {{$ope_auth3 == __("エリアオペレーター権限付与")? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("エリアオペレーター権限付与")}}</label>
|
<label class="form-check-label">{{__("エリアオペレーター権限付与")}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-2 form-check">
|
<div class="col-2 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_auth3" @if($isInfo) disabled @endif value="{{__("付与しない")}}" {{$ope_auth3 == __("付与しない")? 'checked':''}}>
|
||||||
name="ope_auth3" @if($isInfo) disabled @endif
|
|
||||||
value="{{__("付与しない")}}" {{$ope_auth3 == __("付与しない")? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("付与しない")}}</label>
|
<label class="form-check-label">{{__("付与しない")}}</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -464,15 +407,11 @@
|
|||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-4 offset-1 form-check">
|
<div class="col-4 offset-1 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_auth4" @if($isInfo) disabled @endif value="{{__("オペレーター権限付与")}}" {{$ope_auth4 == __("オペレーター権限付与")? 'checked':''}}>
|
||||||
name="ope_auth4" @if($isInfo) disabled @endif
|
|
||||||
value="{{__("オペレーター権限付与")}}" {{$ope_auth4 == __("オペレーター権限付与")? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("オペレーター権限付与")}}</label>
|
<label class="form-check-label">{{__("オペレーター権限付与")}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-2 form-check">
|
<div class="col-2 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_auth4" @if($isInfo) disabled @endif value="{{__("付与しない")}}" {{$ope_auth4 == __("付与しない")? 'checked':''}}>
|
||||||
name="ope_auth4" @if($isInfo) disabled @endif
|
|
||||||
value="{{__("付与しない")}}" {{$ope_auth4 == __("付与しない")? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__("付与しない")}}</label>
|
<label class="form-check-label">{{__("付与しない")}}</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -485,15 +424,11 @@
|
|||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-2 offset-1 form-check">
|
<div class="col-2 offset-1 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_quit_flag" @if($isInfo) disabled @endif value="1" {{$ope_quit_flag? 'checked':''}}>
|
||||||
name="ope_quit_flag" @if($isInfo) disabled @endif
|
|
||||||
value="1" {{$ope_quit_flag? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__('退職')}}</label>
|
<label class="form-check-label">{{__('退職')}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-2 form-check">
|
<div class="col-2 form-check">
|
||||||
<input type="radio" class="minimal"
|
<input type="radio" class="minimal" name="ope_quit_flag" @if($isInfo) disabled @endif value="0" {{!$ope_quit_flag? 'checked':''}}>
|
||||||
name="ope_quit_flag" @if($isInfo) disabled @endif
|
|
||||||
value="0" {{!$ope_quit_flag? 'checked':''}}>
|
|
||||||
<label class="form-check-label">{{__('退職しない')}}</label>
|
<label class="form-check-label">{{__('退職しない')}}</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -506,18 +441,18 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="form-group col-9">
|
<div class="form-group col-9">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<input type="date" value="{{$ope_quitday}}" @if(!$isInfo) placeholder="{{__('validation.attributes.ope_quitday')}}" @endif
|
<input type="date" value="{{$ope_quitday}}" @if(!$isInfo) placeholder="{{__('validation.attributes.ope_quitday')}}" @endif name="ope_quitday" class="form-control form-control-lg" @if($isInfo) readonly @endif/>
|
||||||
name="ope_quitday"
|
|
||||||
class="form-control form-control-lg" @if($isInfo) readonly @endif/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- /.form group - 退職日 -->
|
<!-- /.form group - 退職日 -->
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@if($isInfo)
|
@if($isInfo)
|
||||||
<a href="{{route('ope_add')}}" class="btn btn-lg btn-success">{{__('登録')}}</a>
|
<a href="{{route('opes_add')}}" class="btn btn-lg btn-success">{{__('登録')}}</a>
|
||||||
<a href="{{route('ope_edit',['id'=>$ope_id])}}" class="btn btn-lg btn-danger">{{__('編集')}}</a>
|
<a href="{{route('opes_edit',['id'=>$ope_id])}}" class="btn btn-lg btn-danger">{{__('編集')}}</a>
|
||||||
@else
|
@else
|
||||||
<button type="submit" class="btn btn-lg btn-danger register" >{{__('保存')}}</button>
|
<button type="submit" class="btn btn-lg btn-danger register">{{__('保存')}}</button>
|
||||||
@endIf
|
@endIf
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
@extends('layouts.app')
|
@extends('layouts.app')
|
||||||
@section('title', '[東京都|〇〇駐輪場] オペレータマスタ')
|
@section('title', '[東京都|〇〇駐輪場] オペレータマスタ')
|
||||||
|
|
||||||
@ -8,7 +7,7 @@
|
|||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="row mb-2">
|
<div class="row mb-2">
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<h1 class="m-0 text-dark">[東京都|〇〇駐輪場] オペレータマスタ</h1>
|
<h1 class="m-0 text-dark">新規</h1>
|
||||||
</div><!-- /.col -->
|
</div><!-- /.col -->
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<ol class="breadcrumb float-sm-right text-sm">
|
<ol class="breadcrumb float-sm-right text-sm">
|
||||||
@ -27,27 +26,23 @@
|
|||||||
<section class="content">
|
<section class="content">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<!-- SELECT2 EXAMPLE -->
|
<!-- SELECT2 EXAMPLE -->
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<form method="post" action="{{ route('ope_add')}}" enctype="multipart/form-data">
|
<form method="post" action="{{ route('opes_add') }}" enctype="multipart/form-data">
|
||||||
<!-- TOKEN FORM -->
|
@csrf
|
||||||
<input type="hidden" name="_token" value="{{ csrf_token() }}" >
|
@include('admin.opes._form', ['isEdit' => 0, 'isInfo' => 0])
|
||||||
<!-- / .TOKEN FORM -->
|
|
||||||
@include('admin.opes._form',['isEdit'=>0,'isInfo'=>0])
|
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="container-fluid mb20">
|
<!-- <div class="container-fluid mb20">
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('削除')}}</button>
|
<button type="submit" class="btn btn-sm btn-default mr10">{{ __('削除') }}</button>
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('インポート')}}</button>
|
<button type="submit" class="btn btn-sm btn-default mr10">{{ __('インポート') }}</button>
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('CSV出力')}}</button>
|
<button type="submit" class="btn btn-sm btn-default mr10">{{ __('CSV出力') }}</button>
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<!-- /.content -->
|
<!-- /.content -->
|
||||||
|
|
||||||
@endsection
|
@endsection
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
@extends('layouts.app')
|
@extends('layouts.app')
|
||||||
@section('title', '[東京都|〇〇駐輪場] オペレータマスタ')
|
@section('title', '[東京都|〇〇駐輪場] オペレータマスタ')
|
||||||
|
|
||||||
@ -8,7 +7,7 @@
|
|||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="row mb-2">
|
<div class="row mb-2">
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<h1 class="m-0 text-dark">[東京都|〇〇駐輪場] オペレータマスタ</h1>
|
<h1 class="m-0 text-dark">編集</h1>
|
||||||
</div><!-- /.col -->
|
</div><!-- /.col -->
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<ol class="breadcrumb float-sm-right text-sm">
|
<ol class="breadcrumb float-sm-right text-sm">
|
||||||
@ -27,27 +26,23 @@
|
|||||||
<section class="content">
|
<section class="content">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<!-- SELECT2 EXAMPLE -->
|
<!-- SELECT2 EXAMPLE -->
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<form method="post" action="{{ route('ope_edit',['id'=>$ope_id])}}" enctype="multipart/form-data">
|
<form method="post" action="{{ route('opes_edit', ['id' => $ope_id]) }}" enctype="multipart/form-data">
|
||||||
<!-- TOKEN FORM -->
|
@csrf
|
||||||
<input type="hidden" name="_token" value="{{ csrf_token() }}" >
|
@include('admin.opes._form', ['isEdit' => 1, 'isInfo' => 0])
|
||||||
<!-- / .TOKEN FORM -->
|
|
||||||
@include('admin.opes._form',['isEdit'=>1,'isInfo'=>0])
|
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="container-fluid mb20">
|
<!-- <div class="container-fluid mb20">
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('削除')}}</button>
|
<button type="submit" class="btn btn-sm btn-default mr10">{{ __('削除') }}</button>
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('インポート')}}</button>
|
<button type="submit" class="btn btn-sm btn-default mr10">{{ __('インポート') }}</button>
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('CSV出力')}}</button>
|
<button type="submit" class="btn btn-sm btn-default mr10">{{ __('CSV出力') }}</button>
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<!-- /.content -->
|
<!-- /.content -->
|
||||||
|
|
||||||
@endsection
|
@endsection
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
@extends('layouts.app')
|
@extends('layouts.app')
|
||||||
@section('title', '[東京都|〇〇駐輪場] オペレータマスタ')
|
@section('title', '[東京都|〇〇駐輪場] オペレータマスタ')
|
||||||
|
|
||||||
@ -27,27 +26,23 @@
|
|||||||
<section class="content">
|
<section class="content">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<!-- SELECT2 EXAMPLE -->
|
<!-- SELECT2 EXAMPLE -->
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<form method="post" action="{{ route('ope_info',['id'=>$ope_id])}}" enctype="multipart/form-data">
|
<form method="post" action="{{ route('opes_info', ['id' => $ope_id]) }}" enctype="multipart/form-data">
|
||||||
<!-- TOKEN FORM -->
|
@csrf
|
||||||
<input type="hidden" name="_token" value="{{ csrf_token() }}" >
|
@include('admin.opes._form', ['isEdit' => 0, 'isInfo' => 1])
|
||||||
<!-- / .TOKEN FORM -->
|
|
||||||
@include('admin.opes._form',['isEdit'=>0,'isInfo'=>1])
|
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="container-fluid mb20">
|
<!-- <div class="container-fluid mb20">
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('削除')}}</button>
|
<button type="submit" class="btn btn-sm btn-default mr10">{{ __('削除') }}</button>
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('インポート')}}</button>
|
<button type="submit" class="btn btn-sm btn-default mr10">{{ __('インポート') }}</button>
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('CSV出力')}}</button>
|
<button type="submit" class="btn btn-sm btn-default mr10">{{ __('CSV出力') }}</button>
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<!-- /.content -->
|
<!-- /.content -->
|
||||||
|
|
||||||
@endsection
|
@endsection
|
||||||
|
|||||||
@ -9,8 +9,8 @@
|
|||||||
</div><!-- /.col -->
|
</div><!-- /.col -->
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<ol class="breadcrumb float-sm-right text-sm">
|
<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('home') }}">XX様info(ホーム)</a></li>
|
||||||
<li class="breadcrumb-item"><a href="javascript: void(0);">[東京都|〇〇駐輪場]</a></li>
|
<li class="breadcrumb-item"><a href="javascript:void(0);">[東京都|〇〇駐輪場]</a></li>
|
||||||
<li class="breadcrumb-item active">{{__('オペレータマスタ')}}</li>
|
<li class="breadcrumb-item active">{{__('オペレータマスタ')}}</li>
|
||||||
</ol>
|
</ol>
|
||||||
</div><!-- /.col -->
|
</div><!-- /.col -->
|
||||||
@ -22,23 +22,23 @@
|
|||||||
<!-- Main content -->
|
<!-- Main content -->
|
||||||
<section class="content">
|
<section class="content">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<!-- SELECT2 EXAMPLE -->
|
|
||||||
|
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<form action="{{route('opes')}}" method='post' id='list-form'>
|
<form action="{{ route('opes') }}" method="post" id="list-form">
|
||||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
@csrf
|
||||||
<input type="hidden" value="{{$sort}}" name="sort" id="sort">
|
<input type="hidden" value="{{ $sort }}" name="sort" id="sort">
|
||||||
<input type="hidden" value="{{$sort_type}}" name="sort_type" id="sort_type">
|
<input type="hidden" value="{{ $sort_type }}" name="sort_type" id="sort_type">
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<div class="container-fluid mb20">
|
<div class="container-fluid mb20">
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10" name="delete"
|
<button type="button" class="btn btn-sm btn-default mr10" onclick="location.href='{{ route('opes_add') }}'"> 新規</button>
|
||||||
id="delete">{{__('削除')}}</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" name="import_csv" id="import_csv" action="{{route('opes_import')}}">{{__('インポート')}}</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" name="export_csv" id="export_csv" action="{{route('opes_export')}}">{{__('CSV出力')}}</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') }}
|
{{ $list->appends(['sort' => $sort,'sort_type'=>$sort_type])->links('pagination') }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="form col-lg-12">
|
<div class="form col-lg-12">
|
||||||
@if(Session::has('success'))
|
@if(Session::has('success'))
|
||||||
<div class="alert alert-success alert-dismissible" role="alert">
|
<div class="alert alert-success alert-dismissible" role="alert">
|
||||||
@ -59,10 +59,11 @@
|
|||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-lg-12 row sample03-wrapper no_padding_right mb20">
|
<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-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">
|
<form action="{{ route('opes_delete') }}" method="post" id="form_delete">
|
||||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
@csrf
|
||||||
<table class="table dataTable">
|
<table class="table dataTable">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
@ -76,20 +77,19 @@
|
|||||||
<tr role="row">
|
<tr role="row">
|
||||||
<td>
|
<td>
|
||||||
<input type="checkbox" class="minimal m-0 checkbox"
|
<input type="checkbox" class="minimal m-0 checkbox"
|
||||||
value="{{$item->ope_id}}" name="pk[]">
|
value="{{ $item->ope_id }}" name="pk[]">
|
||||||
<div class="btn_action">
|
<div class="btn_action">
|
||||||
{{--<a href="{{route('ope_add')}}" class="btn btn-sm btn-default">詳細</a>--}}
|
<a href="{{ route('opes_info',['id'=>$item->ope_id]) }}"
|
||||||
<a href="{{route('ope_info',['pk'=>$item->ope_id])}}"
|
class="btn btn-sm btn-default ml10">{{ __('編集') }}</a>
|
||||||
class="btn btn-sm btn-default ml10">{{__('編集')}}</a>
|
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
</tr>
|
</tr>
|
||||||
@endforeach
|
@endforeach
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</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="col-lg-10 col-xl-10 col-md-10 col-sm-9 col-xs-9 table_right no_padding_right">
|
||||||
<div class="scroll">
|
<div class="scroll">
|
||||||
<table class="table dataTable">
|
<table class="table dataTable">
|
||||||
@ -233,7 +233,8 @@
|
|||||||
<td class='sm-item text-right'><span>{{mb_substr($item->ope_pass, 0, 10)}}</span>
|
<td class='sm-item text-right'><span>{{mb_substr($item->ope_pass, 0, 10)}}</span>
|
||||||
</td>
|
</td>
|
||||||
<!-- オペレータ種別 -->
|
<!-- オペレータ種別 -->
|
||||||
<td class='sm-item text-right'><span>{{__(\App\Ope::OPE_TYPE[$item->ope_type])}}</span>
|
<td class='sm-item text-right'>
|
||||||
|
<span>{{ __( \App\Models\Ope::OPE_TYPE[$item->ope_type] ) }}</span>
|
||||||
</td>
|
</td>
|
||||||
<!-- メールアドレス -->
|
<!-- メールアドレス -->
|
||||||
<td class='sm-item text-right'><span>{{mb_substr($item->ope_mail, 0, 10)}}</span>
|
<td class='sm-item text-right'><span>{{mb_substr($item->ope_mail, 0, 10)}}</span>
|
||||||
@ -312,11 +313,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<!-- /.row -->
|
|
||||||
</div><!-- /.container-fluid -->
|
</div><!-- /.container-fluid -->
|
||||||
</section>
|
</section>
|
||||||
<!-- /.content -->
|
<!-- /.content -->
|
||||||
|
|
||||||
@endsection
|
@endsection
|
||||||
212
resources/views/admin/payments/_form.blade.php
Normal file
212
resources/views/admin/payments/_form.blade.php
Normal file
@ -0,0 +1,212 @@
|
|||||||
|
@if(Session::has('success'))
|
||||||
|
<div class="alert alert-success alert-dismissible">{{ Session::get('success') }}</div>
|
||||||
|
@elseif(Session::has('error'))
|
||||||
|
<div class="alert alert-danger alert-dismissible">{{ Session::get('error') }}</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
<div class="card p-4">
|
||||||
|
|
||||||
|
{{-- 登録・削除 ボタン(上部) --}}
|
||||||
|
<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>
|
||||||
|
@else
|
||||||
|
<button type="submit" class="btn btn-lg btn-success">登録</button>
|
||||||
|
@if($isEdit)
|
||||||
|
<a href="{{ route('payments_delete', ['id' => $payment->payment_id]) }}"
|
||||||
|
class="btn btn-lg btn-danger ms-2"
|
||||||
|
onclick="return confirm('削除してよろしいですか?')">削除</a>
|
||||||
|
@endif
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="border-top my-3"></div>
|
||||||
|
|
||||||
|
{{-- 決済情報ID(編集/参照のみ表示、システム自動採番) --}}
|
||||||
|
@if($isEdit || $isInfo)
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">決済情報ID</label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<input type="text" class="form-control" value="{{ $payment->payment_id ?? '' }}" readonly>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
{{-- 会社名(必須) --}}
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">会社名 <span class="text-danger">*</span></label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<input type="text"
|
||||||
|
name="payment_companyname"
|
||||||
|
class="form-control @error('payment_companyname') is-invalid @enderror"
|
||||||
|
value="{{ old('payment_companyname', $payment->payment_companyname ?? '') }}"
|
||||||
|
maxlength="255"
|
||||||
|
placeholder="例)〇〇駐輪場運営株式会社"
|
||||||
|
@if($isInfo) readonly @endif>
|
||||||
|
@error('payment_companyname')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 住所 --}}
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">住所</label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<input type="text"
|
||||||
|
name="payment_add"
|
||||||
|
class="form-control @error('payment_add') is-invalid @enderror"
|
||||||
|
value="{{ old('payment_add', $payment->payment_add ?? '') }}"
|
||||||
|
maxlength="255"
|
||||||
|
placeholder="例)東京都〇〇区〇〇 1-2-3"
|
||||||
|
@if($isInfo) readonly @endif>
|
||||||
|
@error('payment_add')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 詳細(補足情報) --}}
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">詳細</label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<input type="text"
|
||||||
|
name="payment_detail"
|
||||||
|
class="form-control @error('payment_detail') is-invalid @enderror"
|
||||||
|
value="{{ old('payment_detail', $payment->payment_detail ?? '') }}"
|
||||||
|
maxlength="255"
|
||||||
|
placeholder="例)ビル名・階数など"
|
||||||
|
@if($isInfo) readonly @endif>
|
||||||
|
@error('payment_detail')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 予備項目1 --}}
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">予備項目1</label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<input type="text"
|
||||||
|
name="payment_space1"
|
||||||
|
class="form-control @error('payment_space1') is-invalid @enderror"
|
||||||
|
value="{{ old('payment_space1', $payment->payment_space1 ?? '') }}"
|
||||||
|
maxlength="255"
|
||||||
|
@if($isInfo) readonly @endif>
|
||||||
|
@error('payment_space1')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 予備項目2 --}}
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">予備項目2</label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<input type="text"
|
||||||
|
name="payment_space2"
|
||||||
|
class="form-control @error('payment_space2') is-invalid @enderror"
|
||||||
|
value="{{ old('payment_space2', $payment->payment_space2 ?? '') }}"
|
||||||
|
maxlength="255"
|
||||||
|
@if($isInfo) readonly @endif>
|
||||||
|
@error('payment_space2')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- タイトル --}}
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">タイトル</label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<input type="text"
|
||||||
|
name="payment_title"
|
||||||
|
class="form-control @error('payment_title') is-invalid @enderror"
|
||||||
|
value="{{ old('payment_title', $payment->payment_title ?? '') }}"
|
||||||
|
maxlength="255"
|
||||||
|
placeholder="例)お支払いのご案内"
|
||||||
|
@if($isInfo) readonly @endif>
|
||||||
|
@error('payment_title')
|
||||||
|
<div class="invalid-feedback">{{ $message }}</div>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 案内文 --}}
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">案内文</label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<input type="text"
|
||||||
|
name="payment_guide"
|
||||||
|
class="form-control @error('payment_guide') is-invalid @enderror"
|
||||||
|
value="{{ old('payment_guide', $payment->payment_guide ?? '') }}"
|
||||||
|
maxlength="255"
|
||||||
|
placeholder="例)お支払い方法につきましては以下をご確認ください。"
|
||||||
|
@if($isInfo) readonly @endif>
|
||||||
|
@error('payment_guide')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 問い合わせ担当者名 --}}
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">問い合わせ担当</label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<input type="text"
|
||||||
|
name="payment_inquiryname"
|
||||||
|
class="form-control @error('payment_inquiryname') is-invalid @enderror"
|
||||||
|
value="{{ old('payment_inquiryname', $payment->payment_inquiryname ?? '') }}"
|
||||||
|
maxlength="255"
|
||||||
|
placeholder="例)山田 太郎"
|
||||||
|
@if($isInfo) readonly @endif>
|
||||||
|
@error('payment_inquiryname')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 問い合わせ電話番号 --}}
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">問い合わせ電話</label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<input type="text"
|
||||||
|
name="payment_inquirytel"
|
||||||
|
class="form-control @error('payment_inquirytel') is-invalid @enderror"
|
||||||
|
value="{{ old('payment_inquirytel', $payment->payment_inquirytel ?? '') }}"
|
||||||
|
maxlength="255"
|
||||||
|
placeholder="例)03-1234-5678"
|
||||||
|
@if($isInfo) readonly @endif>
|
||||||
|
@error('payment_inquirytel')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||||
|
<small class="text-muted">半角数字・ハイフンで入力してください。</small>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 受付時間(例:平日9:00〜17:00) --}}
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">受付時間</label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<input type="text"
|
||||||
|
name="payment_time"
|
||||||
|
class="form-control @error('payment_time') is-invalid @enderror"
|
||||||
|
value="{{ old('payment_time', $payment->payment_time ?? '') }}"
|
||||||
|
maxlength="255"
|
||||||
|
placeholder="例)平日 9:00〜17:00"
|
||||||
|
@if($isInfo) readonly @endif>
|
||||||
|
@error('payment_time')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- オペレータID(編集/参照のみ表示・自動設定) --}}
|
||||||
|
@if($isEdit || $isInfo)
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">更新オペレータID</label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<input type="text" class="form-control" value="{{ $payment->operator_id ?? '' }}" readonly>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
<div class="border-top my-3"></div>
|
||||||
|
|
||||||
|
{{-- 登録・削除 ボタン(下部重ね) --}}
|
||||||
|
<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>
|
||||||
|
@else
|
||||||
|
<button type="submit" class="btn btn-lg btn-success">登録</button>
|
||||||
|
@if($isEdit)
|
||||||
|
<a href="{{ route('payments_delete', ['id' => $payment->payment_id]) }}"
|
||||||
|
class="btn btn-lg btn-danger ms-2"
|
||||||
|
onclick="return confirm('削除してよろしいですか?')">削除</a>
|
||||||
|
@endif
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
34
resources/views/admin/payments/add.blade.php
Normal file
34
resources/views/admin/payments/add.blade.php
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
@extends('layouts.app')
|
||||||
|
@section('title', '新規')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<div class="content-header">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row mb-2">
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<h1 class="m-0 text-dark">新規</h1>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<ol class="breadcrumb float-sm-right text-sm">
|
||||||
|
<li class="breadcrumb-item"><a href="{{ route('home') }}">ホーム</a></li>
|
||||||
|
<li class="breadcrumb-item"><a href="{{ route('payments') }}">決済情報マスタ</a></li>
|
||||||
|
<li class="breadcrumb-item active">新規</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<form action="{{ route('payments_add') }}" method="POST">
|
||||||
|
@csrf
|
||||||
|
@include('admin.payments._form', [
|
||||||
|
'payment' => null,
|
||||||
|
'isEdit' => false,
|
||||||
|
'isInfo' => false,
|
||||||
|
])
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
@endsection
|
||||||
34
resources/views/admin/payments/edit.blade.php
Normal file
34
resources/views/admin/payments/edit.blade.php
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
@extends('layouts.app')
|
||||||
|
@section('title', '決済情報 編集')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<div class="content-header">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row mb-2">
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<h1 class="m-0 text-dark">編集</h1>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<ol class="breadcrumb float-sm-right text-sm">
|
||||||
|
<li class="breadcrumb-item"><a href="{{ route('home') }}">ホーム</a></li>
|
||||||
|
<li class="breadcrumb-item"><a href="{{ route('payments') }}">決済情報マスタ</a></li>
|
||||||
|
<li class="breadcrumb-item active">編集</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<form action="{{ route('payments_edit', ['payment_id' => $payment->payment_id]) }}" method="POST">
|
||||||
|
@csrf
|
||||||
|
@include('admin.payments._form', [
|
||||||
|
'payment' => $payment,
|
||||||
|
'isEdit' => true,
|
||||||
|
'isInfo' => false,
|
||||||
|
])
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
@endsection
|
||||||
35
resources/views/admin/payments/info.blade.php
Normal file
35
resources/views/admin/payments/info.blade.php
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
@extends('layouts.app')
|
||||||
|
@section('title', '[東京都|〇〇駐輪場] 決済情報マスタ - 詳細')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<!-- 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"><a href="{{ route('payments') }}">決済情報マスタ</a></li>
|
||||||
|
<li class="breadcrumb-item active">詳細</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<form>
|
||||||
|
@include('admin.payments._form', [
|
||||||
|
'payment' => $payment,
|
||||||
|
'isEdit' => false,
|
||||||
|
'isInfo' => true,
|
||||||
|
])
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
@endsection
|
||||||
161
resources/views/admin/payments/list.blade.php
Normal file
161
resources/views/admin/payments/list.blade.php
Normal file
@ -0,0 +1,161 @@
|
|||||||
|
@extends('layouts.app')
|
||||||
|
@section('title', '決済情報マスタ')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<!-- 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>
|
||||||
|
|
||||||
|
<!-- Main Content -->
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
|
||||||
|
{{-- 一覧のソート用(既存規約踏襲) --}}
|
||||||
|
<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') }}
|
||||||
|
</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>
|
||||||
|
@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('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">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th class="sorting {{ ($sort=='payment_id') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="payment_id">
|
||||||
|
<span>決済情報ID</span>
|
||||||
|
</th>
|
||||||
|
<th class="sorting {{ ($sort=='payment_companyname') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="payment_companyname">
|
||||||
|
<span>会社名</span>
|
||||||
|
</th>
|
||||||
|
<th class="sorting {{ ($sort=='payment_inquirytel') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="payment_inquirytel">
|
||||||
|
<span>問い合わせ電話</span>
|
||||||
|
</th>
|
||||||
|
<th class="sorting {{ ($sort=='payment_inquiryname') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="payment_inquiryname">
|
||||||
|
<span>問い合わせ担当</span>
|
||||||
|
</th>
|
||||||
|
<th class="sorting {{ ($sort=='payment_time') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="payment_time">
|
||||||
|
<span>受付時間</span>
|
||||||
|
</th>
|
||||||
|
<th class="sorting {{ ($sort=='updated_at') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="updated_at">
|
||||||
|
<span>更新日時</span>
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<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>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<form action="{{ route('payments_export') }}" method="GET" id="form_export"></form>
|
||||||
|
|
||||||
|
{{-- 一括削除 & ソートのJS(既存規約に合わせ最小限) --}}
|
||||||
|
@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();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// ヘッダクリックでソート変更(既存 list と同様のカスタム属性 "sort" を使用)
|
||||||
|
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,74 +1,107 @@
|
|||||||
@if(Session::has('success'))
|
@if(Session::has('success'))
|
||||||
<div class="alert alert-success alert-dismissible" role="alert">
|
<div class="alert alert-success alert-dismissible" role="alert">
|
||||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||||
{{ Session::get('success') }}
|
{{ Session::get('success') }}
|
||||||
</div>
|
</div>
|
||||||
@elseif(Session::has('error'))
|
@elseif(Session::has('error'))
|
||||||
<div class="alert alert-danger alert-dismissible">
|
<div class="alert alert-danger alert-dismissible">
|
||||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||||
<h4><i class="icon fa fa-ban"></i> {{__('誤差')}}:</h4>
|
<h4><i class="icon fa fa-ban"></i> {{ __('誤差') }}:</h4>
|
||||||
{!! Session::get('error') !!}
|
{!! Session::get('error') !!}
|
||||||
</div>
|
</div>
|
||||||
@elseif(isset($errorMsg))
|
@elseif(isset($errorMsg))
|
||||||
<div class="alert alert-danger alert-dismissible">
|
<div class="alert alert-danger alert-dismissible">
|
||||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||||
<h4><i class="icon fa fa-ban"></i> {{__('誤差')}}:</h4>
|
<h4><i class="icon fa fa-ban"></i> {{ __('誤差') }}:</h4>
|
||||||
{!! $errorMsg !!}
|
{!! $errorMsg !!}
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
<div class="card-header">
|
|
||||||
|
<div class="card p-4">
|
||||||
|
|
||||||
|
{{-- 上部登録ボタン --}}
|
||||||
|
<div class="text-left mt-4">
|
||||||
@if($isInfo)
|
@if($isInfo)
|
||||||
<a href="{{route('print_area_add')}}" class="btn btn-lg btn-success">{{__('登録')}}</a>
|
{{-- 詳細モード(info)では、編集ボタンを表示 --}}
|
||||||
<a href="{{route('print_area_edit',['id'=>$print_area_id])}}" class="btn btn-lg btn-danger">{{__('編集')}}</a>
|
<a href="{{ route('print_areas_add') }}" class="btn btn-lg btn-success">{{ __('登録') }}</a>
|
||||||
|
<a href="{{ route('print_areas_edit', ['id' => $record->print_area_id]) }}" class="btn btn-danger px-5">{{ __('編集') }}</a>
|
||||||
@else
|
@else
|
||||||
<button type="submit" class="btn btn-lg btn-danger register" >{{__('保存')}}</button>
|
{{-- 登録 or 更新 --}}
|
||||||
@endIf
|
<button type="submit" class="btn btn-lg btn-success">
|
||||||
</div>
|
{{ $isEdit ? '登録' : '登録' }}
|
||||||
<div class="card-body">
|
</button>
|
||||||
<div class="row">
|
|
||||||
|
{{-- 削除ボタン--}}
|
||||||
|
@if($isEdit)
|
||||||
|
<a href="{{ route('print_areas_delete', ['id' => $record->print_area_id]) }}"
|
||||||
|
class="btn btn-lg btn-danger ml-3"
|
||||||
|
onclick="return confirm('削除してよろしいですか?')">
|
||||||
|
削除
|
||||||
|
</a>
|
||||||
|
@endif
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="border-top my-3"></div>
|
||||||
|
|
||||||
|
<div class="row mb-3">
|
||||||
@if($isInfo || $isEdit)
|
@if($isInfo || $isEdit)
|
||||||
<!--印刷範囲ID -->
|
<label class="col-md-2 col-form-label">{{ __('validation.attributes.print_area_id') }}</label>
|
||||||
<div class="form-group col-3">
|
<div class="col-md-10">
|
||||||
<label>{{__('validation.attributes.print_area_id')}}</label>
|
<input type="text" class="form-control" value="{{ $record->print_area_id ?? '' }}" readonly>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-9">
|
@endif
|
||||||
<div class="input-group">
|
</div>
|
||||||
<input type="text" value="{{$print_area_id}}" placeholder="{{__('validation.attributes.print_area_id')}}"
|
|
||||||
class="form-control form-control-lg" readonly/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
@endIf
|
|
||||||
<!-- 印刷範囲名 -->
|
|
||||||
<div class="form-group col-3">
|
|
||||||
<label @if(!$isInfo) class="required" @endif>{{__('validation.attributes.print_area_name')}}</label>
|
|
||||||
</div>
|
|
||||||
<div class="form-group col-9">
|
|
||||||
<div class="input-group">
|
|
||||||
<input type="text" value="{{$print_area_name}}" placeholder="{{__('validation.attributes.print_area_name')}}" name="print_area_name"
|
|
||||||
class="form-control form-control-lg" @if($isInfo) readonly @endif/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- /.form group - 印刷範囲名 -->
|
|
||||||
|
|
||||||
<!-- 駐輪場 -->
|
|
||||||
<div class="form-group col-3">
|
|
||||||
<label @if(!$isInfo) class="required" @endif>{{__('validation.attributes.park_name')}}</label>
|
|
||||||
</div>
|
|
||||||
<div class="form-group col-9">
|
|
||||||
<select class="form-control form-control-lg mb10" name="park_name" @if($isInfo) disabled @endif>
|
|
||||||
<option value="">{{__('validation.attributes.park_name')}}</option>
|
|
||||||
@foreach($parks as $key => $val)
|
|
||||||
<option value="{{$key}}" @if($park_id == $key)selected @endif>{{$val}}</option>
|
|
||||||
@endforeach
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">
|
||||||
|
{{ __('validation.attributes.print_area_name') }}
|
||||||
|
@if(!$isInfo)<span class="text-danger">*</span>@endif
|
||||||
|
</label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<input type="text" name="print_area_name" class="form-control"
|
||||||
|
value="{{ old('print_area_name', $record->print_area_name ?? '') }}"
|
||||||
|
placeholder="{{ __('validation.attributes.print_area_name') }}"
|
||||||
|
@if($isInfo) readonly @endif>
|
||||||
</div>
|
</div>
|
||||||
@if($isInfo)
|
</div>
|
||||||
<a href="{{route('print_area_add')}}" class="btn btn-lg btn-success">{{__('登録')}}</a>
|
|
||||||
<a href="{{route('print_area_edit',['id'=>$print_area_id])}}" class="btn btn-lg btn-danger">{{__('編集')}}</a>
|
|
||||||
@else
|
|
||||||
<button type="submit" class="btn btn-lg btn-danger register" >{{__('保存')}}</button>
|
|
||||||
@endIf
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">
|
||||||
|
{{ __('validation.attributes.park_name') }}
|
||||||
|
@if(!$isInfo)<span class="text-danger">*</span>@endif
|
||||||
|
</label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<select name="park_id" class="form-control" @if($isInfo) disabled @endif>
|
||||||
|
<option value="">{{ __('validation.attributes.park_name') }}</option>
|
||||||
|
@foreach($parks as $key => $val)
|
||||||
|
<option value="{{ $key }}" @if(($record->park_id ?? '') == $key) selected @endif>{{ $val }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 下部登録ボタン --}}
|
||||||
|
<div class="text-left mt-4">
|
||||||
|
@if($isInfo)
|
||||||
|
{{-- 詳細モード(info)では、編集ボタンを表示 --}}
|
||||||
|
<a href="{{ route('print_areas_add') }}" class="btn btn-lg btn-success">{{ __('登録') }}</a>
|
||||||
|
<a href="{{ route('print_areas_edit', ['id' => $record->print_area_id]) }}" class="btn btn-danger px-5">{{ __('編集') }}</a>
|
||||||
|
@else
|
||||||
|
{{-- 登録 or 更新 --}}
|
||||||
|
<button type="submit" class="btn btn-lg btn-success">
|
||||||
|
{{ $isEdit ? '登録' : '登録' }}
|
||||||
|
</button>
|
||||||
|
|
||||||
|
{{-- 削除ボタン --}}
|
||||||
|
@if($isEdit)
|
||||||
|
<a href="{{ route('print_areas_delete', ['id' => $record->print_area_id]) }}"
|
||||||
|
class="btn btn-lg btn-danger ml-3"
|
||||||
|
onclick="return confirm('削除してよろしいですか?')">
|
||||||
|
削除
|
||||||
|
</a>
|
||||||
|
@endif
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|||||||
@ -1,53 +1,34 @@
|
|||||||
|
|
||||||
@extends('layouts.app')
|
@extends('layouts.app')
|
||||||
@section('title', '[東京都|〇〇駐輪場] シール印刷範囲マスタ')
|
@section('title', '新規登録')
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<!-- Content Header (Page header) -->
|
<div class="content-header">
|
||||||
<div class="content-header">
|
<div class="container-fluid">
|
||||||
<div class="container-fluid">
|
<div class="row mb-2">
|
||||||
<div class="row mb-2">
|
<div class="col-sm-6">
|
||||||
<div class="col-lg-6">
|
<h1 class="m-0 text-dark">新規</h1>
|
||||||
<h1 class="m-0 text-dark">[東京都|〇〇駐輪場] シール印刷範囲マスタ</h1>
|
</div>
|
||||||
</div><!-- /.col -->
|
<div class="col-sm-6">
|
||||||
<div class="col-lg-6">
|
<ol class="breadcrumb float-sm-right text-sm">
|
||||||
<ol class="breadcrumb float-sm-right text-sm">
|
<li class="breadcrumb-item"><a href="{{ route('home') }}">ホーム</a></li>
|
||||||
<li class="breadcrumb-item"><a href="./index2.html">XX様info(ホーム)</a></li>
|
<li class="breadcrumb-item"><a href="{{ route('print_areas') }}">シール印刷範囲マスタ</a></li>
|
||||||
<li class="breadcrumb-item"><a href="./index3.html">[東京都|〇〇駐輪場]</a></li>
|
<li class="breadcrumb-item active">新規登録</li>
|
||||||
<li class="breadcrumb-item">シール印刷範囲マスタ</li>
|
</ol>
|
||||||
<li class="breadcrumb-item active">[東京都|〇〇駐輪場] シール印刷範囲マスタ</li>
|
</div>
|
||||||
</ol>
|
|
||||||
</div><!-- /.col -->
|
|
||||||
</div><!-- /.row -->
|
|
||||||
</div><!-- /.container-fluid -->
|
|
||||||
</div>
|
</div>
|
||||||
<!-- /.content-header -->
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- Main content -->
|
<section class="content">
|
||||||
<section class="content">
|
<div class="container-fluid">
|
||||||
<div class="container-fluid">
|
|
||||||
<!-- SELECT2 EXAMPLE -->
|
<form action="{{ route('print_areas_add') }}" method="POST" id="form_main">
|
||||||
|
@csrf
|
||||||
|
@include('admin.print_areas._form', ['isEdit' => 0, 'isInfo' => 0])
|
||||||
|
|
||||||
<div class="row">
|
</form>
|
||||||
<div class="col-lg-12">
|
|
||||||
<div class="card">
|
</div>
|
||||||
<form method="post" action="{{ route('print_area_add')}}" enctype="multipart/form-data">
|
</section>
|
||||||
<!-- TOKEN FORM -->
|
|
||||||
<input type="hidden" name="_token" value="{{ csrf_token() }}" >
|
|
||||||
<!-- / .TOKEN FORM -->
|
|
||||||
@include('admin.print_areas._form',['isEdit'=>0,'isInfo'=>0])
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="container-fluid mb20">
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('削除')}}</button>
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('インポート')}}</button>
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('CSV出力')}}</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
<!-- /.content -->
|
|
||||||
|
|
||||||
@endsection
|
@endsection
|
||||||
|
|||||||
@ -1,53 +1,37 @@
|
|||||||
|
|
||||||
@extends('layouts.app')
|
@extends('layouts.app')
|
||||||
@section('title', '[東京都|〇〇駐輪場] シール印刷範囲マスタ')
|
@section('title', '[東京都|〇〇駐輪場] シール印刷範囲 編集')
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<!-- Content Header (Page header) -->
|
<!-- Content Header -->
|
||||||
<div class="content-header">
|
<div class="content-header">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="row mb-2">
|
<div class="row mb-2">
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<h1 class="m-0 text-dark">[東京都|〇〇駐輪場] シール印刷範囲マスタ</h1>
|
<h1 class="m-0 text-dark">編集</h1>
|
||||||
</div><!-- /.col -->
|
</div>
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<ol class="breadcrumb float-sm-right text-sm">
|
<ol class="breadcrumb float-sm-right text-sm">
|
||||||
<li class="breadcrumb-item"><a href="./index2.html">XX様info(ホーム)</a></li>
|
<li class="breadcrumb-item"><a href="{{ route('home') }}">XX様info(ホーム)</a></li>
|
||||||
<li class="breadcrumb-item"><a href="./index3.html">[東京都|〇〇駐輪場]</a></li>
|
<li class="breadcrumb-item"><a href="{{ route('print_areas') }}">シール印刷範囲マスタ</a></li>
|
||||||
<li class="breadcrumb-item">シール印刷範囲マスタ</li>
|
<li class="breadcrumb-item active">編集</li>
|
||||||
<li class="breadcrumb-item active">利用者マスタ</li>
|
</ol>
|
||||||
</ol>
|
</div>
|
||||||
</div><!-- /.col -->
|
|
||||||
</div><!-- /.row -->
|
|
||||||
</div><!-- /.container-fluid -->
|
|
||||||
</div>
|
</div>
|
||||||
<!-- /.content-header -->
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- Main content -->
|
<section class="content">
|
||||||
<section class="content">
|
<div class="container-fluid">
|
||||||
<div class="container-fluid">
|
<form method="POST" action="{{ route('print_areas_edit', ['print_area_id' => $record->print_area_id]) }}">
|
||||||
<!-- SELECT2 EXAMPLE -->
|
@csrf
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-lg-12">
|
|
||||||
<div class="card">
|
|
||||||
<form method="post" action="{{ route('print_area_edit',['id'=>$print_area_id])}}" enctype="multipart/form-data">
|
|
||||||
<!-- TOKEN FORM -->
|
|
||||||
<input type="hidden" name="_token" value="{{ csrf_token() }}" >
|
|
||||||
<!-- / .TOKEN FORM -->
|
|
||||||
@include('admin.print_areas._form',['isEdit'=>1,'isInfo'=>0])
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="container-fluid mb20">
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('削除')}}</button>
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('インポート')}}</button>
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('CSV出力')}}</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
<!-- /.content -->
|
|
||||||
|
|
||||||
|
@include('admin.print_areas._form', [
|
||||||
|
'record' => $record,
|
||||||
|
'parks' => $parks,
|
||||||
|
'isEdit' => 1,
|
||||||
|
'isInfo' => 0
|
||||||
|
])
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
@endsection
|
@endsection
|
||||||
|
|||||||
@ -1,53 +1,30 @@
|
|||||||
|
|
||||||
@extends('layouts.app')
|
@extends('layouts.app')
|
||||||
@section('title', '[東京都|〇〇駐輪場] シール印刷範囲マスタ')
|
@section('title', '詳細表示')
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<!-- Content Header (Page header) -->
|
<div class="content-header">
|
||||||
<div class="content-header">
|
<div class="container-fluid">
|
||||||
<div class="container-fluid">
|
<div class="row mb-2">
|
||||||
<div class="row mb-2">
|
<div class="col-sm-6">
|
||||||
<div class="col-lg-6">
|
<h1 class="m-0 text-dark">シール印刷範囲マスタ - 詳細表示</h1>
|
||||||
<h1 class="m-0 text-dark">[東京都|〇〇駐輪場] シール印刷範囲マスタ</h1>
|
</div>
|
||||||
</div><!-- /.col -->
|
<div class="col-sm-6">
|
||||||
<div class="col-lg-6">
|
<ol class="breadcrumb float-sm-right text-sm">
|
||||||
<ol class="breadcrumb float-sm-right text-sm">
|
<li class="breadcrumb-item"><a href="{{ route('home') }}">ホーム</a></li>
|
||||||
<li class="breadcrumb-item"><a href="./index2.html">XX様info(ホーム)</a></li>
|
<li class="breadcrumb-item"><a href="{{ route('print_areas') }}">シール印刷範囲マスタ</a></li>
|
||||||
<li class="breadcrumb-item"><a href="./index3.html">[東京都|〇〇駐輪場]</a></li>
|
<li class="breadcrumb-item active">詳細表示</li>
|
||||||
<li class="breadcrumb-item">シール印刷範囲マスタ</li>
|
</ol>
|
||||||
<li class="breadcrumb-item active">利用者マスタ</li>
|
</div>
|
||||||
</ol>
|
|
||||||
</div><!-- /.col -->
|
|
||||||
</div><!-- /.row -->
|
|
||||||
</div><!-- /.container-fluid -->
|
|
||||||
</div>
|
</div>
|
||||||
<!-- /.content-header -->
|
</div>
|
||||||
|
</div>
|
||||||
<!-- Main content -->
|
|
||||||
<section class="content">
|
|
||||||
<div class="container-fluid">
|
|
||||||
<!-- SELECT2 EXAMPLE -->
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-lg-12">
|
|
||||||
<div class="card">
|
|
||||||
<form method="post" action="{{ route('print_area_info',['id'=>$print_area_id])}}" enctype="multipart/form-data">
|
|
||||||
<!-- TOKEN FORM -->
|
|
||||||
<input type="hidden" name="_token" value="{{ csrf_token() }}" >
|
|
||||||
<!-- / .TOKEN FORM -->
|
|
||||||
@include('admin.print_areas._form',['isEdit'=>0,'isInfo'=>1])
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="container-fluid mb20">
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('削除')}}</button>
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('インポート')}}</button>
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('CSV出力')}}</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
<!-- /.content -->
|
|
||||||
|
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<form method="POST" action="{{ route('print_areas_info', ['print_area_id' => $record->print_area_id]) }}">
|
||||||
|
@csrf
|
||||||
|
@include('admin.print_areas._form', ['isEdit' => 0, 'isInfo' => 1])
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
@endsection
|
@endsection
|
||||||
|
|||||||
@ -1,139 +1,100 @@
|
|||||||
@extends('layouts.app')
|
@extends('layouts.app')
|
||||||
@section('title', '[東京都|〇〇駐輪場] シール印刷範囲マスタ')
|
@section('title', '[東京都|〇〇駐輪場] シール印刷範囲マスタ')
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<div class="content-header">
|
<!-- Content Header -->
|
||||||
<div class="container-fluid">
|
<div class="content-header">
|
||||||
<div class="row mb-2">
|
<div class="container-fluid">
|
||||||
<div class="col-lg-6">
|
<div class="row mb-2">
|
||||||
<h1 class="m-0 text-dark">{{__('シール印刷範囲マスタ')}}</h1>
|
<div class="col-lg-6">
|
||||||
</div><!-- /.col -->
|
<h1 class="m-0 text-dark">シール印刷範囲マスタ</h1>
|
||||||
<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">
|
|
||||||
<!-- SELECT2 EXAMPLE -->
|
|
||||||
<div class="row">
|
|
||||||
<form action="{{route('print_areas')}}" 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>
|
|
||||||
|
|
||||||
<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('print_areas_import')}}">{{__('インポート')}}</button>
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10" name="export_csv" id="export_csv" action="{{route('print_areas_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('print_areas_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->print_area_id}}" name="pk[]">
|
|
||||||
<div class="btn_action">
|
|
||||||
{{--<a href="{{route('print_area_add')}}" class="btn btn-sm btn-default">詳細</a>--}}
|
|
||||||
<a href="{{route('print_area_info',['pk'=>$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>
|
|
||||||
|
|
||||||
<!-- 印刷範囲ID -->
|
|
||||||
<th class="sorting @if($sort=="print_area_id"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
|
||||||
sort="print_area_id"><span>{{__('validation.attributes.print_area_id')}}</span>
|
|
||||||
</th>
|
|
||||||
<!-- 印刷範囲名 -->
|
|
||||||
<th class="sorting @if($sort=="print_area_name"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
|
||||||
sort="print_area_name">
|
|
||||||
<span>{{__('validation.attributes.print_area_name')}}</span>
|
|
||||||
</th>
|
|
||||||
<!-- 駐輪場 -->
|
|
||||||
<th class="sorting @if($sort=="park_id"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
|
||||||
sort="park_id">
|
|
||||||
<span>{{__('validation.attributes.park_name')}}</span>
|
|
||||||
</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
@foreach($list as $item)
|
|
||||||
<tr>
|
|
||||||
<!-- 印刷範囲ID -->
|
|
||||||
<td class='sm-item text-left'>
|
|
||||||
<span>{{mb_substr($item->print_area_id, 0, 10)}}</span></td>
|
|
||||||
<!-- 印刷範囲名 -->
|
|
||||||
<td class='sm-item text-right'>
|
|
||||||
<span>{{mb_substr($item->print_area_name, 0, 10)}}</span></td>
|
|
||||||
<!-- 駐輪場 -->
|
|
||||||
<td class='sm-item text-right'>
|
|
||||||
<span>{{mb_substr($item->getPark()->park_name, 0, 10)}}</span></td>
|
|
||||||
</tr>
|
|
||||||
@endforeach
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<!-- /.row -->
|
<div class="col-lg-6">
|
||||||
</div><!-- /.container-fluid -->
|
<ol class="breadcrumb float-sm-right text-sm">
|
||||||
</section>
|
<li class="breadcrumb-item"><a href="{{ route('home') }}">XX様info(ホーム)</a></li>
|
||||||
<!-- /.content -->
|
<li class="breadcrumb-item active">シール印刷範囲マスタ</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
@endsection
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<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="submit" class="btn btn-sm btn-default mr10" form="form_export">CSV出力</button>
|
||||||
|
{{ $list->appends(['sort' => $sort ?? '', 'sort_type' => $sort_type ?? ''])->links('pagination') }}
|
||||||
|
</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>
|
||||||
|
@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('print_areas_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>
|
||||||
|
<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><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>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<form action="{{ route('print_areas_export') }}" method="GET" id="form_export"></form>
|
||||||
|
@endsection
|
||||||
|
|||||||
@ -79,8 +79,8 @@
|
|||||||
value="{{$item->regular_type_id}}" name="pk[]">
|
value="{{$item->regular_type_id}}" name="pk[]">
|
||||||
<div class="btn_action">
|
<div class="btn_action">
|
||||||
{{--<a href="{{route('regular_type_add')}}" class="btn btn-sm btn-default">詳細</a>--}}
|
{{--<a href="{{route('regular_type_add')}}" class="btn btn-sm btn-default">詳細</a>--}}
|
||||||
<a href="{{route('regular_type_info',['pk'=>$item->regular_type_id])}}"
|
<a href="{{ route('regular_type_info', ['id' => $item->regular_type_id]) }}"
|
||||||
class="btn btn-sm btn-default ml10">{{__('編集')}}</a>
|
class="btn btn-sm btn-default ml10">{{ __('編集') }}</a>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
|
|||||||
201
resources/views/admin/settings/_form.blade.php
Normal file
201
resources/views/admin/settings/_form.blade.php
Normal file
@ -0,0 +1,201 @@
|
|||||||
|
{{-- フラッシュメッセージ --}}
|
||||||
|
@if(session('success'))
|
||||||
|
<div class="alert alert-success alert-dismissible">
|
||||||
|
<button type="button" class="close" data-dismiss="alert">×</button>
|
||||||
|
{{ session('success') }}
|
||||||
|
</div>
|
||||||
|
@elseif(session('error'))
|
||||||
|
<div class="alert alert-danger alert-dismissible">
|
||||||
|
<button type="button" class="close" data-dismiss="alert">×</button>
|
||||||
|
{!! session('error') !!}
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
{{-- ===== 上部ボタン領域 ===== --}}
|
||||||
|
<div class="card-header">
|
||||||
|
@if(!empty($isInfo) && !empty($setting?->setting_id))
|
||||||
|
<a href="{{ route('settings_add') }}" class="btn btn-success btn-lg">新規登録</a>
|
||||||
|
<a href="{{ route('settings_edit', ['id' => $setting->setting_id]) }}" class="btn btn-warning btn-lg">編集</a>
|
||||||
|
@else
|
||||||
|
<button type="submit" class="btn btn-primary btn-lg">保存</button>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
{{-- 設定ID(情報/編集時のみ表示) --}}
|
||||||
|
@if(!empty($isInfo) || !empty($isEdit))
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>設定ID</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<input type="text" value="{{ $setting->setting_id ?? '' }}" class="form-control form-control-lg" readonly>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
{{-- 編集マスタ --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>編集マスタ</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<input type="text" name="edit_master"
|
||||||
|
value="{{ old('edit_master', $setting->edit_master ?? '') }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
@if(!empty($isInfo)) readonly @endif>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- ウェブ参照マスタ --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>ウェブ参照マスタ</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<input type="text" name="web_master"
|
||||||
|
value="{{ old('web_master', $setting->web_master ?? '') }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
@if(!empty($isInfo)) readonly @endif>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- ウェブ参照マスタ自動切り替え日時(datetime-local) --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>ウェブ参照マスタ自動切り替え日時</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<input type="datetime-local" name="auto_change_date"
|
||||||
|
value="{{ old('auto_change_date', optional($setting->auto_change_date ?? null)->format('Y-m-d\TH:i')) }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
@if(!empty($isInfo)) readonly @endif>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 自動切換えウェブ参照マスタ(※カラム名 chage) --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>自動切換えウェブ参照マスタ</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<input type="text" name="auto_chage_master"
|
||||||
|
value="{{ old('auto_chage_master', $setting->auto_chage_master ?? '') }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
@if(!empty($isInfo)) readonly @endif>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 再発行アラート回数 --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>再発行アラート回数</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<input type="number" name="re_issue_alert_number" min="0"
|
||||||
|
value="{{ old('re_issue_alert_number', $setting->re_issue_alert_number ?? '') }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
@if(!empty($isInfo)) readonly @endif>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- ニュースイメージURLベース名 --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>ニュースイメージURLベース名</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<input type="text" name="image_base_url1"
|
||||||
|
value="{{ old('image_base_url1', $setting->image_base_url1 ?? '') }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
@if(!empty($isInfo)) readonly @endif>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 本人確認写真URLベース名 --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>本人確認写真URLベース名</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<input type="text" name="image_base_url2"
|
||||||
|
value="{{ old('image_base_url2', $setting->image_base_url2 ?? '') }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
@if(!empty($isInfo)) readonly @endif>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- プリンタ印字残警告フラグ(チェックボックス) --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>プリンタ印字残警告フラグ</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9 d-flex align-items-center">
|
||||||
|
@php
|
||||||
|
$flag = old('printable_alert_flag', isset($setting) ? (int)$setting->printable_alert_flag : 0);
|
||||||
|
@endphp
|
||||||
|
<input type="hidden" name="printable_alert_flag" value="0">
|
||||||
|
<input type="checkbox" name="printable_alert_flag" value="1"
|
||||||
|
@if($flag) checked @endif
|
||||||
|
@if(!empty($isInfo)) disabled @endif>
|
||||||
|
<span class="ml-2">{{ $flag ? '有効' : '無効' }}</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- プリンタロール紙印字可能数 --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>プリンタロール紙印字可能数</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<input type="number" name="printable_number" min="0"
|
||||||
|
value="{{ old('printable_number', $setting->printable_number ?? '') }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
@if(!empty($isInfo)) readonly @endif>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- プリンタロール紙印字残警告数 --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>プリンタロール紙印字残警告数</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<input type="number" name="printable_alert_number" min="0"
|
||||||
|
value="{{ old('printable_alert_number', $setting->printable_alert_number ?? '') }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
@if(!empty($isInfo)) readonly @endif>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- プリンタ制御プログラムキープアライブ間隔(分) --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>プリンタ制御プログラムキープアライブ間隔(分)</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<input type="number" name="printer_keep_alive" min="0"
|
||||||
|
value="{{ old('printer_keep_alive', $setting->printer_keep_alive ?? '') }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
@if(!empty($isInfo)) readonly @endif>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 更新オペレータID --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>更新オペレータID</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<input type="number" name="operator_id" min="0"
|
||||||
|
value="{{ old('operator_id', $setting->operator_id ?? '') }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
@if(!empty($isInfo)) readonly @endif>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 登録/更新日時(情報表示のみ) --}}
|
||||||
|
@if(!empty($isInfo))
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>登録日時</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<input type="text" value="{{ optional($setting->created_at)->format('Y-m-d H:i:s') }}" class="form-control form-control-lg" readonly>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>更新日時</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<input type="text" value="{{ optional($setting->updated_at)->format('Y-m-d H:i:s') }}" class="form-control form-control-lg" readonly>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- ===== 下部ボタン領域 ===== --}}
|
||||||
|
<div class="card-header">
|
||||||
|
@if(!empty($isInfo) && !empty($setting?->setting_id))
|
||||||
|
<a href="{{ route('settings_add') }}" class="btn btn-success btn-lg">新規登録</a>
|
||||||
|
<a href="{{ route('settings_edit', ['id' => $setting->setting_id]) }}" class="btn btn-warning btn-lg">編集</a>
|
||||||
|
@else
|
||||||
|
<button type="submit" class="btn btn-primary btn-lg">保存</button>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
30
resources/views/admin/settings/add.blade.php
Normal file
30
resources/views/admin/settings/add.blade.php
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
@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="#">ホーム</a></li>
|
||||||
|
<li class="breadcrumb-item"><a href="{{ route('settings') }}">設定マスタ</a></li>
|
||||||
|
<li class="breadcrumb-item active">新規登録</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="card">
|
||||||
|
<form method="post" action="{{ route('settings_add') }}">
|
||||||
|
@csrf
|
||||||
|
@include('admin.settings._form', ['isInfo' => 0, 'isEdit' => 0, 'setting' => $setting ?? new \App\Models\Setting()])
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
@endsection
|
||||||
30
resources/views/admin/settings/edit.blade.php
Normal file
30
resources/views/admin/settings/edit.blade.php
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
@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="#">ホーム</a></li>
|
||||||
|
<li class="breadcrumb-item"><a href="{{ route('settings') }}">設定マスタ</a></li>
|
||||||
|
<li class="breadcrumb-item active">編集</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="card">
|
||||||
|
<form method="post" action="{{ route('settings_edit', ['id' => $setting->setting_id]) }}">
|
||||||
|
@csrf
|
||||||
|
@include('admin.settings._form', ['isInfo' => 0, 'isEdit' => 1, 'setting' => $setting])
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
@endsection
|
||||||
28
resources/views/admin/settings/info.blade.php
Normal file
28
resources/views/admin/settings/info.blade.php
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
@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="#">ホーム</a></li>
|
||||||
|
<li class="breadcrumb-item"><a href="{{ route('settings') }}">設定マスタ</a></li>
|
||||||
|
<li class="breadcrumb-item active">詳細</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="card">
|
||||||
|
{{-- 詳細はフォームでなく共通パーツを読み込み(ボタンは「新規/編集」表示) --}}
|
||||||
|
@include('admin.settings._form', ['isInfo' => 1, 'isEdit' => 0, 'setting' => $setting])
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
@endsection
|
||||||
154
resources/views/admin/settings/list.blade.php
Normal file
154
resources/views/admin/settings/list.blade.php
Normal file
@ -0,0 +1,154 @@
|
|||||||
|
@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>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section class="content">
|
||||||
|
<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>
|
||||||
|
|
||||||
|
<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>
|
||||||
|
@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>
|
||||||
|
</td>
|
||||||
|
|
||||||
|
{{-- 右:本体 --}}
|
||||||
|
<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>
|
||||||
|
</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; });
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
@endpush
|
||||||
|
@endsection
|
||||||
@ -6,188 +6,222 @@
|
|||||||
@elseif(Session::has('error'))
|
@elseif(Session::has('error'))
|
||||||
<div class="alert alert-danger alert-dismissible">
|
<div class="alert alert-danger alert-dismissible">
|
||||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||||
<h4><i class="icon fa fa-ban"></i> {{__('誤差')}}:</h4>
|
<h4><i class="icon fa fa-ban"></i> {{ __('誤差') }}:</h4>
|
||||||
{!! Session::get('error') !!}
|
{!! Session::get('error') !!}
|
||||||
</div>
|
</div>
|
||||||
@elseif(isset($errorMsg))
|
@elseif(isset($errorMsg))
|
||||||
<div class="alert alert-danger alert-dismissible">
|
<div class="alert alert-danger alert-dismissible">
|
||||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||||
<h4><i class="icon fa fa-ban"></i> {{__('誤差')}}:</h4>
|
<h4><i class="icon fa fa-ban"></i> {{ __('誤差') }}:</h4>
|
||||||
{!! $errorMsg !!}
|
{!! $errorMsg !!}
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
@if($isInfo)
|
@if($isInfo)
|
||||||
<a href="{{route('settlement_transaction_add')}}" class="btn btn-lg btn-success">{{__('登録')}}</a>
|
<a href="{{ route('settlement_transactions_add') }}" class="btn btn-lg btn-success">{{ __('登録') }}</a>
|
||||||
<a href="{{route('settlement_transaction_edit',['id'=>$settlement_transaction_id])}}" class="btn btn-lg btn-danger">{{__('編集')}}</a>
|
<a href="{{ route('settlement_transactions_edit', ['settlement_transaction_id' => $transaction->settlement_transaction_id]) }}"
|
||||||
|
class="btn btn-lg btn-danger">{{ __('編集') }}</a>
|
||||||
@else
|
@else
|
||||||
<button type="submit" class="btn btn-lg btn-danger register" >{{__('保存')}}</button>
|
<button type="submit" class="btn btn-lg btn-danger register">{{ __('保存') }}</button>
|
||||||
@endIf
|
@endif
|
||||||
</div>
|
|
||||||
<div class="card-body">
|
|
||||||
<div class="row">
|
|
||||||
@if($isInfo || $isEdit)
|
|
||||||
<!-- 決済トランザクションID -->
|
|
||||||
<div class="form-group col-3">
|
|
||||||
<label>{{__('validation.attributes.settlement_transaction_id')}}</label>
|
|
||||||
</div>
|
|
||||||
<div class="form-group col-9">
|
|
||||||
<div class="input-group">
|
|
||||||
<input type="text" value="{{$settlement_transaction_id}}" placeholder="{{__('validation.attributes.settlement_transaction_id')}}" name="settlement_transaction_id"
|
|
||||||
class="form-control form-control-lg" readonly/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- /.form group - 決済トランザクションID -->
|
|
||||||
@endif
|
|
||||||
<!-- 定期契約ID -->
|
|
||||||
<div class="form-group col-3">
|
|
||||||
<label @if(!$isInfo) class="required" @endif>{{__('validation.attributes.contract_id')}}</label>
|
|
||||||
</div>
|
|
||||||
<div class="form-group col-9">
|
|
||||||
<div class="input-group">
|
|
||||||
<input type="text" value="{{$contract_id}}" placeholder="{{__('validation.attributes.contract_id')}}" name="contract_id"
|
|
||||||
class="form-control form-control-lg" @if($isInfo) readonly @endif/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- /.form group - 定期契約ID -->
|
|
||||||
|
|
||||||
<!-- ステータス -->
|
|
||||||
<div class="form-group col-3">
|
|
||||||
<label>{{__('validation.attributes.status')}}</label>
|
|
||||||
</div>
|
|
||||||
<div class="form-group col-9">
|
|
||||||
<div class="input-group">
|
|
||||||
<input type="text" value="{{$status}}" placeholder="{{__('validation.attributes.status')}}" name="status"
|
|
||||||
class="form-control form-control-lg" @if($isInfo) readonly @endif/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- /.form group - ステータス -->
|
|
||||||
|
|
||||||
<!-- 支払いコード -->
|
|
||||||
<div class="form-group col-3">
|
|
||||||
<label>{{__('validation.attributes.pay_code')}}</label>
|
|
||||||
</div>
|
|
||||||
<div class="form-group col-9">
|
|
||||||
<div class="input-group">
|
|
||||||
<input type="text" value="{{$pay_code}}" placeholder="{{__('validation.attributes.pay_code')}}" name="pay_code"
|
|
||||||
class="form-control form-control-lg" @if($isInfo) readonly @endif/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- /.form group - 支払いコード -->
|
|
||||||
|
|
||||||
<!-- 受付番号 -->
|
|
||||||
<div class="form-group col-3">
|
|
||||||
<label>{{__('validation.attributes.contract_payment_number')}}</label>
|
|
||||||
</div>
|
|
||||||
<div class="form-group col-9">
|
|
||||||
<div class="input-group">
|
|
||||||
<input type="text" value="{{$contract_payment_number}}" placeholder="{{__('validation.attributes.contract_payment_number')}}" name="contract_payment_number"
|
|
||||||
class="form-control form-control-lg" @if($isInfo) readonly @endif/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- /.form group - 受付番号 -->
|
|
||||||
|
|
||||||
<!-- 企業コード -->
|
|
||||||
<div class="form-group col-3">
|
|
||||||
<label>{{__('validation.attributes.corp_code')}}</label>
|
|
||||||
</div>
|
|
||||||
<div class="form-group col-9">
|
|
||||||
<div class="input-group">
|
|
||||||
<input type="text" value="{{$corp_code}}" placeholder="{{__('validation.attributes.corp_code')}}" name="corp_code"
|
|
||||||
class="form-control form-control-lg" @if($isInfo) readonly @endif/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- /.form group - 企業コード -->
|
|
||||||
|
|
||||||
<!-- MMS予約照会日時 -->
|
|
||||||
<div class="form-group col-3">
|
|
||||||
<label>{{__('validation.attributes.mms_date')}}</label>
|
|
||||||
</div>
|
|
||||||
<div class="form-group col-9">
|
|
||||||
<div class="input-group">
|
|
||||||
<input type="text" value="{{$mms_date}}" placeholder="{{__('validation.attributes.mms_date')}}" name="mms_date"
|
|
||||||
class="form-control form-control-lg" @if($isInfo) readonly @endif/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- /.form group - MMS予約照会日時 -->
|
|
||||||
|
|
||||||
<!-- CVS本部コード -->
|
|
||||||
<div class="form-group col-3">
|
|
||||||
<label>{{__('validation.attributes.cvs_code')}}</label>
|
|
||||||
</div>
|
|
||||||
<div class="form-group col-9">
|
|
||||||
<div class="input-group">
|
|
||||||
<input type="text" value="{{$cvs_code}}" placeholder="{{__('validation.attributes.cvs_code')}}" name="cvs_code"
|
|
||||||
class="form-control form-control-lg" @if($isInfo) readonly @endif/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- /.form group - CVS本部コード -->
|
|
||||||
|
|
||||||
<!-- 店舗コード -->
|
|
||||||
<div class="form-group col-3">
|
|
||||||
<label>{{__('validation.attributes.shop_code')}}</label>
|
|
||||||
</div>
|
|
||||||
<div class="form-group col-9">
|
|
||||||
<div class="input-group">
|
|
||||||
<input type="text" value="{{$shop_code}}" placeholder="{{__('validation.attributes.shop_code')}}" name="shop_code"
|
|
||||||
class="form-control form-control-lg" @if($isInfo) readonly @endif/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- /.form group - 店舗コード -->
|
|
||||||
|
|
||||||
<!-- 入金日時 -->
|
|
||||||
<div class="form-group col-3">
|
|
||||||
<label>{{__('validation.attributes.pay_date')}}</label>
|
|
||||||
</div>
|
|
||||||
<div class="form-group col-9">
|
|
||||||
<div class="input-group">
|
|
||||||
<input type="date" value="@if($isInfo || $isEdit){{!empty($pay_date)?date('Y-m-d',strtotime($pay_date)):""}}@endif" placeholder="{{__('validation.attributes.pay_date')}}" name="pay_date"
|
|
||||||
class="form-control form-control-lg" @if($isInfo) readonly @endif/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- /.form group - 入金日時 -->
|
|
||||||
|
|
||||||
<!-- 決済金額 -->
|
|
||||||
<div class="form-group col-3">
|
|
||||||
<label>{{__('validation.attributes.settlement_amount')}}</label>
|
|
||||||
</div>
|
|
||||||
<div class="form-group col-9">
|
|
||||||
<div class="input-group">
|
|
||||||
<input type="text" value="{{$settlement_amount}}" placeholder="{{__('validation.attributes.settlement_amount')}}" name="settlement_amount"
|
|
||||||
class="form-control form-control-lg" @if($isInfo) readonly @endif/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- /.form group - 決済金額 -->
|
|
||||||
|
|
||||||
<!-- 印紙貼付フラグ -->
|
|
||||||
<div class="form-group col-3">
|
|
||||||
<label>{{__('validation.attributes.stamp_flag')}}</label>
|
|
||||||
</div>
|
|
||||||
<div class="form-group col-9">
|
|
||||||
<div class="input-group">
|
|
||||||
<input type="text" value="{{$stamp_flag}}" placeholder="{{__('validation.attributes.stamp_flag')}}" name="stamp_flag"
|
|
||||||
class="form-control form-control-lg" @if($isInfo) readonly @endif/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- /.form group - 印紙貼付フラグ -->
|
|
||||||
|
|
||||||
<!-- MD5ハッシュ値 -->
|
|
||||||
<div class="form-group col-3">
|
|
||||||
<label>{{__('validation.attributes.md5_string')}}</label>
|
|
||||||
</div>
|
|
||||||
<div class="form-group col-9">
|
|
||||||
<div class="input-group">
|
|
||||||
<input type="text" value="{{$md5_string}}" placeholder="{{__('validation.attributes.md5_string')}}" name="md5_string"
|
|
||||||
class="form-control form-control-lg" @if($isInfo) readonly @endif/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- /.form group - MD5ハッシュ値 -->
|
|
||||||
</div>
|
|
||||||
@if($isInfo)
|
|
||||||
<a href="{{route('settlement_transaction_add')}}" class="btn btn-lg btn-success">{{__('登録')}}</a>
|
|
||||||
<a href="{{route('settlement_transaction_edit',['id'=>$settlement_transaction_id])}}" class="btn btn-lg btn-danger">{{__('編集')}}</a>
|
|
||||||
@else
|
|
||||||
<button type="submit" class="btn btn-lg btn-danger register" >{{__('保存')}}</button>
|
|
||||||
@endIf
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
{{-- 決済トランザクションID(編集/参照のみ) --}}
|
||||||
|
@if($isInfo || $isEdit)
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('validation.attributes.settlement_transaction_id') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text"
|
||||||
|
value="{{ $transaction->settlement_transaction_id ?? '' }}"
|
||||||
|
placeholder="{{ __('validation.attributes.settlement_transaction_id') }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
readonly/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
{{-- 定期契約ID --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label @if(!$isInfo) class="required" @endif>{{ __('validation.attributes.contract_id') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text" name="contract_id"
|
||||||
|
value="{{ old('contract_id', $transaction->contract_id ?? '') }}"
|
||||||
|
placeholder="{{ __('validation.attributes.contract_id') }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
@if($isInfo) readonly @endif />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- ステータス --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('validation.attributes.status') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text" name="status"
|
||||||
|
value="{{ old('status', $transaction->status ?? '') }}"
|
||||||
|
placeholder="{{ __('validation.attributes.status') }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
@if($isInfo) readonly @endif />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 支払いコード --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('validation.attributes.pay_code') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text" name="pay_code"
|
||||||
|
value="{{ old('pay_code', $transaction->pay_code ?? '') }}"
|
||||||
|
placeholder="{{ __('validation.attributes.pay_code') }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
@if($isInfo) readonly @endif />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 受付番号 --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('validation.attributes.contract_payment_number') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text" name="contract_payment_number"
|
||||||
|
value="{{ old('contract_payment_number', $transaction->contract_payment_number ?? '') }}"
|
||||||
|
placeholder="{{ __('validation.attributes.contract_payment_number') }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
@if($isInfo) readonly @endif />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 企業コード --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('validation.attributes.corp_code') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text" name="corp_code"
|
||||||
|
value="{{ old('corp_code', $transaction->corp_code ?? '') }}"
|
||||||
|
placeholder="{{ __('validation.attributes.corp_code') }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
@if($isInfo) readonly @endif />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- MMS予約照会日時 --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('validation.attributes.mms_date') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text" name="mms_date"
|
||||||
|
value="{{ old('mms_date', $transaction->mms_date ?? '') }}"
|
||||||
|
placeholder="{{ __('validation.attributes.mms_date') }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
@if($isInfo) readonly @endif />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- CVS本部コード --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('validation.attributes.cvs_code') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text" name="cvs_code"
|
||||||
|
value="{{ old('cvs_code', $transaction->cvs_code ?? '') }}"
|
||||||
|
placeholder="{{ __('validation.attributes.cvs_code') }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
@if($isInfo) readonly @endif />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 店舗コード --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('validation.attributes.shop_code') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text" name="shop_code"
|
||||||
|
value="{{ old('shop_code', $transaction->shop_code ?? '') }}"
|
||||||
|
placeholder="{{ __('validation.attributes.shop_code') }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
@if($isInfo) readonly @endif />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 入金日時(DBはdatetime。画面はdateで日付入力を想定) --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('validation.attributes.pay_date') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="date" name="pay_date"
|
||||||
|
value="{{ old('pay_date', isset($transaction->pay_date) ? \Carbon\Carbon::parse($transaction->pay_date)->format('Y-m-d') : '') }}"
|
||||||
|
placeholder="{{ __('validation.attributes.pay_date') }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
@if($isInfo) readonly @endif />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 決済金額 --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('validation.attributes.settlement_amount') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text" name="settlement_amount"
|
||||||
|
value="{{ old('settlement_amount', $transaction->settlement_amount ?? '') }}"
|
||||||
|
placeholder="{{ __('validation.attributes.settlement_amount') }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
@if($isInfo) readonly @endif />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 印紙貼付フラグ --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('validation.attributes.stamp_flag') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text" name="stamp_flag"
|
||||||
|
value="{{ old('stamp_flag', $transaction->stamp_flag ?? '') }}"
|
||||||
|
placeholder="{{ __('validation.attributes.stamp_flag') }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
@if($isInfo) readonly @endif />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- MD5ハッシュ値 --}}
|
||||||
|
<div class="form-group col-3">
|
||||||
|
<label>{{ __('validation.attributes.md5_string') }}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-9">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text" name="md5_string"
|
||||||
|
value="{{ old('md5_string', $transaction->md5_string ?? '') }}"
|
||||||
|
placeholder="{{ __('validation.attributes.md5_string') }}"
|
||||||
|
class="form-control form-control-lg"
|
||||||
|
@if($isInfo) readonly @endif />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 下部ボタン(上部と同じ) --}}
|
||||||
|
@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]) }}"
|
||||||
|
class="btn btn-lg btn-danger">{{ __('編集') }}</a>
|
||||||
|
@else
|
||||||
|
<button type="submit" class="btn btn-lg btn-danger register">{{ __('保存') }}</button>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
|
|
||||||
@extends('layouts.app')
|
@extends('layouts.app')
|
||||||
@section('title', '[東京都|〇〇駐輪場] 決済トランザクション')
|
@section('title', '[東京都|〇〇駐輪場] 決済トランザクション - 新規')
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<!-- Content Header (Page header) -->
|
<!-- Content Header (Page header) -->
|
||||||
@ -8,46 +7,39 @@
|
|||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="row mb-2">
|
<div class="row mb-2">
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<h1 class="m-0 text-dark">[東京都|〇〇駐輪場] 決済トランザクション</h1>
|
<h1 class="m-0 text-dark">新規</h1>
|
||||||
</div><!-- /.col -->
|
</div>
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<ol class="breadcrumb float-sm-right text-sm">
|
<ol class="breadcrumb float-sm-right text-sm">
|
||||||
<li class="breadcrumb-item"><a href="./index2.html">XX様info(ホーム)</a></li>
|
<li class="breadcrumb-item"><a href="{{ route('home') }}">XX様info(ホーム)</a></li>
|
||||||
<li class="breadcrumb-item"><a href="./index3.html">[東京都|〇〇駐輪場]</a></li>
|
<li class="breadcrumb-item"><a href="javascript:void(0);">[東京都|〇〇駐輪場]</a></li>
|
||||||
<li class="breadcrumb-item">決済トランザクション</li>
|
<li class="breadcrumb-item"><a href="{{ route('settlement_transactions') }}">決済トランザクション</a></li>
|
||||||
<li class="breadcrumb-item active">[東京都|〇〇駐輪場] 決済トランザクション</li>
|
<li class="breadcrumb-item active">新規</li>
|
||||||
</ol>
|
</ol>
|
||||||
</div><!-- /.col -->
|
</div>
|
||||||
</div><!-- /.row -->
|
</div>
|
||||||
</div><!-- /.container-fluid -->
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- /.content-header -->
|
<!-- /.content-header -->
|
||||||
|
|
||||||
<!-- Main content -->
|
<!-- Main content -->
|
||||||
<section class="content">
|
<section class="content">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<!-- SELECT2 EXAMPLE -->
|
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<form method="post" action="{{ route('settlement_transaction_add')}}" enctype="multipart/form-data">
|
<form method="POST" action="{{ route('settlement_transactions_add') }}" enctype="multipart/form-data">
|
||||||
<!-- TOKEN FORM -->
|
@csrf
|
||||||
<input type="hidden" name="_token" value="{{ csrf_token() }}" >
|
@include('admin.settlement_transactions._form', [
|
||||||
<!-- / .TOKEN FORM -->
|
'transaction' => null,
|
||||||
@include('admin.settlement_transactions._form',['isEdit'=>0,'isInfo'=>0])
|
'isEdit' => false,
|
||||||
|
'isInfo' => false,
|
||||||
|
])
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="container-fluid mb20">
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('削除')}}</button>
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('インポート')}}</button>
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('CSV出力')}}</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<!-- /.content -->
|
<!-- /.content -->
|
||||||
|
|
||||||
@endsection
|
@endsection
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
|
|
||||||
@extends('layouts.app')
|
@extends('layouts.app')
|
||||||
@section('title', '[東京都|〇〇駐輪場] 決済トランザクション')
|
@section('title', '[東京都|〇〇駐輪場] 決済トランザクション - 編集')
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<!-- Content Header (Page header) -->
|
<!-- Content Header (Page header) -->
|
||||||
@ -8,46 +7,39 @@
|
|||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="row mb-2">
|
<div class="row mb-2">
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<h1 class="m-0 text-dark">[東京都|〇〇駐輪場] 決済トランザクション</h1>
|
<h1 class="m-0 text-dark">編集</h1>
|
||||||
</div><!-- /.col -->
|
</div>
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<ol class="breadcrumb float-sm-right text-sm">
|
<ol class="breadcrumb float-sm-right text-sm">
|
||||||
<li class="breadcrumb-item"><a href="./index2.html">XX様info(ホーム)</a></li>
|
<li class="breadcrumb-item"><a href="{{ route('home') }}">XX様info(ホーム)</a></li>
|
||||||
<li class="breadcrumb-item"><a href="./index3.html">[東京都|〇〇駐輪場]</a></li>
|
<li class="breadcrumb-item"><a href="javascript:void(0);">[東京都|〇〇駐輪場]</a></li>
|
||||||
<li class="breadcrumb-item">決済トランザクション</li>
|
<li class="breadcrumb-item"><a href="{{ route('settlement_transactions') }}">決済トランザクション</a></li>
|
||||||
<li class="breadcrumb-item active">利用者マスタ</li>
|
<li class="breadcrumb-item active">編集</li>
|
||||||
</ol>
|
</ol>
|
||||||
</div><!-- /.col -->
|
</div>
|
||||||
</div><!-- /.row -->
|
</div>
|
||||||
</div><!-- /.container-fluid -->
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- /.content-header -->
|
<!-- /.content-header -->
|
||||||
|
|
||||||
<!-- Main content -->
|
<!-- Main content -->
|
||||||
<section class="content">
|
<section class="content">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<!-- SELECT2 EXAMPLE -->
|
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<form method="post" action="{{ route('settlement_transaction_edit',['id'=>$settlement_transaction_id])}}" enctype="multipart/form-data">
|
<form method="POST" action="{{ route('settlement_transactions_edit', ['settlement_transaction_id' => $transaction->settlement_transaction_id]) }}" enctype="multipart/form-data">
|
||||||
<!-- TOKEN FORM -->
|
@csrf
|
||||||
<input type="hidden" name="_token" value="{{ csrf_token() }}" >
|
@include('admin.settlement_transactions._form', [
|
||||||
<!-- / .TOKEN FORM -->
|
'transaction' => $transaction,
|
||||||
@include('admin.settlement_transactions._form',['isEdit'=>1,'isInfo'=>0])
|
'isEdit' => true,
|
||||||
|
'isInfo' => false,
|
||||||
|
])
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="container-fluid mb20">
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('削除')}}</button>
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('インポート')}}</button>
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('CSV出力')}}</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<!-- /.content -->
|
<!-- /.content -->
|
||||||
|
|
||||||
@endsection
|
@endsection
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
|
|
||||||
@extends('layouts.app')
|
@extends('layouts.app')
|
||||||
@section('title', '[東京都|〇〇駐輪場] 決済トランザクション')
|
@section('title', '[東京都|〇〇駐輪場] 決済トランザクション - 詳細')
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<!-- Content Header (Page header) -->
|
<!-- Content Header (Page header) -->
|
||||||
@ -8,46 +7,39 @@
|
|||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="row mb-2">
|
<div class="row mb-2">
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<h1 class="m-0 text-dark">[東京都|〇〇駐輪場] 決済トランザクション</h1>
|
<h1 class="m-0 text-dark">[東京都|〇〇駐輪場] 決済トランザクション - 詳細</h1>
|
||||||
</div><!-- /.col -->
|
</div>
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<ol class="breadcrumb float-sm-right text-sm">
|
<ol class="breadcrumb float-sm-right text-sm">
|
||||||
<li class="breadcrumb-item"><a href="./index2.html">XX様info(ホーム)</a></li>
|
<li class="breadcrumb-item"><a href="{{ route('home') }}">XX様info(ホーム)</a></li>
|
||||||
<li class="breadcrumb-item"><a href="./index3.html">[東京都|〇〇駐輪場]</a></li>
|
<li class="breadcrumb-item"><a href="javascript:void(0);">[東京都|〇〇駐輪場]</a></li>
|
||||||
<li class="breadcrumb-item">決済トランザクション</li>
|
<li class="breadcrumb-item"><a href="{{ route('settlement_transactions') }}">決済トランザクション</a></li>
|
||||||
<li class="breadcrumb-item active">利用者マスタ</li>
|
<li class="breadcrumb-item active">詳細</li>
|
||||||
</ol>
|
</ol>
|
||||||
</div><!-- /.col -->
|
</div>
|
||||||
</div><!-- /.row -->
|
</div>
|
||||||
</div><!-- /.container-fluid -->
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- /.content-header -->
|
<!-- /.content-header -->
|
||||||
|
|
||||||
<!-- Main content -->
|
<!-- Main content -->
|
||||||
<section class="content">
|
<section class="content">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<!-- SELECT2 EXAMPLE -->
|
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<form method="post" action="{{ route('settlement_transaction_info',['id'=>$settlement_transaction_id])}}" enctype="multipart/form-data">
|
|
||||||
<!-- TOKEN FORM -->
|
<form>
|
||||||
<input type="hidden" name="_token" value="{{ csrf_token() }}" >
|
@include('admin.settlement_transactions._form', [
|
||||||
<!-- / .TOKEN FORM -->
|
'transaction' => $transaction,
|
||||||
@include('admin.settlement_transactions._form',['isEdit'=>0,'isInfo'=>1])
|
'isEdit' => false,
|
||||||
|
'isInfo' => true,
|
||||||
|
])
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="container-fluid mb20">
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('削除')}}</button>
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('インポート')}}</button>
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10">{{__('CSV出力')}}</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<!-- /.content -->
|
<!-- /.content -->
|
||||||
|
|
||||||
@endsection
|
@endsection
|
||||||
|
|||||||
@ -1,43 +1,65 @@
|
|||||||
@extends('layouts.app')
|
@extends('layouts.app')
|
||||||
@section('title', '[東京都|〇〇駐輪場] 決済トランザクション')
|
@section('title', '[東京都|〇〇駐輪場] 決済トランザクション')
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<div class="content-header">
|
<div class="content-header">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="row mb-2">
|
<div class="row mb-2">
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<h1 class="m-0 text-dark">{{__('決済トランザクション')}}</h1>
|
<h1 class="m-0 text-dark">{{ __('決済トランザクション') }}</h1>
|
||||||
</div><!-- /.col -->
|
</div>
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<ol class="breadcrumb float-sm-right text-sm">
|
<ol class="breadcrumb float-sm-right text-sm">
|
||||||
<li class="breadcrumb-item"><a href="{{route('home')}}">{{__('ホーム')}}</a></li>
|
<li class="breadcrumb-item"><a href="{{ route('home') }}">{{ __('ホーム') }}</a></li>
|
||||||
<li class="breadcrumb-item active">{{__('決済トランザクション')}}</li>
|
<li class="breadcrumb-item active">{{ __('決済トランザクション') }}</li>
|
||||||
</ol>
|
</ol>
|
||||||
</div><!-- /.col -->
|
</div>
|
||||||
</div><!-- /.row -->
|
</div>
|
||||||
</div><!-- /.container-fluid -->
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- /.content-header -->
|
<!-- /.content-header -->
|
||||||
|
|
||||||
<!-- Main content -->
|
|
||||||
<section class="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('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="container-fluid">
|
||||||
<!-- SELECT2 EXAMPLE -->
|
|
||||||
|
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<form action="{{route('settlement_transactions')}}" method='post' id='list-form'>
|
{{-- ソート保持用 --}}
|
||||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
<form action="{{ route('settlement_transactions') }}" method="POST" id="list-form">
|
||||||
<input type="hidden" value="{{$sort}}" name="sort" id="sort">
|
@csrf
|
||||||
<input type="hidden" value="{{$sort_type}}" name="sort_type" id="sort_type">
|
<input type="hidden" name="sort" value="{{ $sort ?? '' }}">
|
||||||
|
<input type="hidden" name="sort_type" value="{{ $sort_type ?? '' }}">
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<div class="container-fluid mb20">
|
<div class="container-fluid mb20">
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10" name="delete"
|
{{ $transactions->appends(['sort' => $sort ?? '', 'sort_type' => $sort_type ?? ''])->links('pagination') }}
|
||||||
id="delete">{{__('削除')}}</button>
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10" name="import_csv" id="import_csv" action="{{route('settlement_transactions_import')}}">{{__('インポート')}}</button>
|
|
||||||
<button type="submit" class="btn btn-sm btn-default mr10" name="export_csv" id="export_csv" action="{{route('settlement_transactions_export')}}">{{__('CSV出力')}}</button>
|
|
||||||
{{ $list->appends(['sort' => $sort,'sort_type'=>$sort_type])->links('pagination') }}
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form col-lg-12">
|
<div class="form col-lg-12">
|
||||||
@if(Session::has('success'))
|
@if(Session::has('success'))
|
||||||
<div class="alert alert-success alert-dismissible" role="alert">
|
<div class="alert alert-success alert-dismissible" role="alert">
|
||||||
@ -47,21 +69,23 @@
|
|||||||
@elseif(Session::has('error'))
|
@elseif(Session::has('error'))
|
||||||
<div class="alert alert-danger alert-dismissible">
|
<div class="alert alert-danger alert-dismissible">
|
||||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||||
<h4><i class="icon fa fa-ban"></i> {{__('誤差')}}:</h4>
|
<h4><i class="icon fa fa-ban"></i> {{ __('誤差') }}:</h4>
|
||||||
{!! Session::get('error') !!}
|
{!! Session::get('error') !!}
|
||||||
</div>
|
</div>
|
||||||
@elseif(isset($errorMsg))
|
@elseif(isset($errorMsg))
|
||||||
<div class="alert alert-danger alert-dismissible">
|
<div class="alert alert-danger alert-dismissible">
|
||||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||||
<h4><i class="icon fa fa-ban"></i> {{__('誤差')}}:</h4>
|
<h4><i class="icon fa fa-ban"></i> {{ __('誤差') }}:</h4>
|
||||||
{!! $errorMsg !!}
|
{!! $errorMsg !!}
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-lg-12 row sample03-wrapper no_padding_right mb20">
|
<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-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">
|
<form action="{{ route('settlement_transactions_delete') }}" method="POST" id="form_delete">
|
||||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
@csrf
|
||||||
<table class="table dataTable">
|
<table class="table dataTable">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
@ -71,130 +95,135 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
@foreach($list as $item)
|
@foreach($transactions as $item)
|
||||||
<tr role="row">
|
<tr role="row">
|
||||||
<td>
|
<td>
|
||||||
<input type="checkbox" class="minimal m-0 checkbox"
|
<input type="checkbox" class="minimal m-0 checkbox"
|
||||||
value="{{$item->settlement_transaction_id}}" name="pk[]">
|
value="{{ $item->settlement_transaction_id }}" name="ids[]">
|
||||||
<div class="btn_action">
|
<div class="btn_action">
|
||||||
{{--<a href="{{route('settlement_transaction_add')}}" class="btn btn-sm btn-default">詳細</a>--}}
|
<a href="{{ route('settlement_transactions_edit', ['settlement_transaction_id' => $item->settlement_transaction_id]) }}"
|
||||||
<a href="{{route('settlement_transaction_info',['pk'=>$item->settlement_transaction_id])}}"
|
class="btn btn-sm btn-default ml10">{{ __('編集') }}</a>
|
||||||
class="btn btn-sm btn-default ml10">{{__('編集')}}</a>
|
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
</tr>
|
</tr>
|
||||||
@endforeach
|
@endforeach
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</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="col-lg-10 col-xl-10 col-md-10 col-sm-9 col-xs-9 table_right no_padding_right">
|
||||||
<div class="scroll">
|
<div class="scroll">
|
||||||
<table class="table dataTable">
|
<table class="table dataTable">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<!-- 決済トランザクションID -->
|
<th class="sorting {{ ($sort=='settlement_transaction_id') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="settlement_transaction_id">
|
||||||
<th class="sorting @if($sort=="settlement_transaction_id"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
<span>{{ __('validation.attributes.settlement_transaction_id') }}</span>
|
||||||
sort="settlement_transaction_id">
|
|
||||||
<span>{{__('validation.attributes.settlement_transaction_id')}}</span>
|
|
||||||
</th>
|
</th>
|
||||||
<!-- 定期契約ID -->
|
<th class="sorting {{ ($sort=='contract_id') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="contract_id">
|
||||||
<th class="sorting @if($sort=="contract_id"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
<span>{{ __('validation.attributes.contract_id') }}</span>
|
||||||
sort="contract_id"><span>{{__('validation.attributes.contract_id')}}</span>
|
|
||||||
</th>
|
</th>
|
||||||
<!-- ステータス -->
|
<th class="sorting {{ ($sort=='status') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="status">
|
||||||
<th class="sorting @if($sort=="status"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
<span>{{ __('validation.attributes.status') }}</span>
|
||||||
sort="status"><span>{{__('validation.attributes.status')}}</span>
|
|
||||||
</th>
|
</th>
|
||||||
<!-- 支払いコード -->
|
<th><span>{{ __('validation.attributes.pay_code') }}</span></th>
|
||||||
<th><span>{{__('validation.attributes.pay_code')}}</span>
|
<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>
|
||||||
<!-- 受付番号 -->
|
<th class="sorting {{ ($sort=='mms_date') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="mms_date">
|
||||||
<th><span>{{__('validation.attributes.contract_payment_number')}}</span>
|
<span>{{ __('validation.attributes.mms_date') }}</span>
|
||||||
</th>
|
</th>
|
||||||
<!-- 企業コード -->
|
<th class="sorting {{ ($sort=='cvs_code') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="cvs_code">
|
||||||
<th class="sorting @if($sort=="corp_code"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
<span>{{ __('validation.attributes.cvs_code') }}</span>
|
||||||
sort="corp_code"><span>{{__('validation.attributes.corp_code')}}</span>
|
|
||||||
</th>
|
</th>
|
||||||
<!-- MMS予約照会日時 -->
|
<th class="sorting {{ ($sort=='shop_code') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="shop_code">
|
||||||
<th class="sorting @if($sort=="mms_date"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
<span>{{ __('validation.attributes.shop_code') }}</span>
|
||||||
sort="mms_date"><span>{{__('validation.attributes.mms_date')}}</span>
|
|
||||||
</th>
|
</th>
|
||||||
<!-- CVS本部コード -->
|
<th class="sorting {{ ($sort=='pay_date') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="pay_date">
|
||||||
<th class="sorting @if($sort=="cvs_code"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
<span>{{ __('validation.attributes.pay_date') }}</span>
|
||||||
sort="cvs_code"><span>{{__('validation.attributes.cvs_code')}}</span>
|
|
||||||
</th>
|
</th>
|
||||||
<!-- 店舗コード -->
|
<th><span>{{ __('validation.attributes.settlement_amount') }}</span></th>
|
||||||
<th class="sorting @if($sort=="shop_code"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
<th><span>{{ __('validation.attributes.stamp_flag') }}</span></th>
|
||||||
sort="shop_code"><span>{{__('validation.attributes.shop_code')}}</span>
|
<th><span>{{ __('validation.attributes.md5_string') }}</span></th>
|
||||||
</th>
|
|
||||||
<!-- 入金日時 -->
|
|
||||||
<th class="sorting @if($sort=="pay_date"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
|
|
||||||
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>
|
|
||||||
<!-- MD5ハッシュ値 -->
|
|
||||||
<th><span>{{__('validation.attributes.md5_string')}}</span></th>
|
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
@foreach($list as $item)
|
@foreach($transactions as $item)
|
||||||
<tr>
|
<tr>
|
||||||
<!-- 決済トランザクションID -->
|
<td class="sm-item text-left">{{ $item->settlement_transaction_id }}</td>
|
||||||
<td class='sm-item text-left'>
|
<td class="sm-item text-left">{{ $item->contract_id }}</td>
|
||||||
<span>{{mb_substr($item->settlement_transaction_id, 0, 10)}}</span></td>
|
<td class="sm-item text-left">{{ $item->status }}</td>
|
||||||
<!-- 定期契約ID -->
|
<td class="sm-item text-left">{{ $item->pay_code }}</td>
|
||||||
<td class='sm-item text-left'>
|
<td class="sm-item text-left">{{ $item->contract_payment_number }}</td>
|
||||||
<span>{{mb_substr($item->contract_id, 0, 10)}}</span></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-right'><span>{{mb_substr($item->status, 0, 10)}}</span>
|
<td class="sm-item text-left">{{ $item->cvs_code }}</td>
|
||||||
</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-right'>
|
<td class="sm-item text-left">{{ $item->settlement_amount }}</td>
|
||||||
<span>{{mb_substr($item->pay_code, 0, 10)}}</span></td>
|
<td class="sm-item text-left">{{ $item->stamp_flag }}</td>
|
||||||
<!-- 受付番号 -->
|
<td class="sm-item text-left">{{ $item->md5_string }}</td>
|
||||||
<td class='sm-item text-right'>
|
|
||||||
<span>{{mb_substr($item->contract_payment_number, 0, 10)}}</span></td>
|
|
||||||
<!-- 企業コード -->
|
|
||||||
<td class='sm-item text-right'>
|
|
||||||
<span>{{mb_substr($item->corp_code, 0, 10)}}</span></td>
|
|
||||||
<!-- MMS予約照会日時 -->
|
|
||||||
<td class='sm-item text-right'>
|
|
||||||
<span>{{mb_substr($item->mms_date, 0, 10)}}</span></td>
|
|
||||||
<!-- CVS本部コード -->
|
|
||||||
<td class='sm-item text-right'><span>{{mb_substr($item->cvs_code, 0, 10)}}</span>
|
|
||||||
</td>
|
|
||||||
<!-- 店舗コード -->
|
|
||||||
<td class='sm-item text-right'>
|
|
||||||
<span>{{mb_substr($item->shop_code, 0, 10)}}</span></td>
|
|
||||||
<!-- 入金日時 -->
|
|
||||||
<td class='sm-item text-right'>
|
|
||||||
<span>{{mb_substr($item->pay_date, 0, 10)}}</span></td>
|
|
||||||
<!-- 決済金額 -->
|
|
||||||
<td class='sm-item text-left'>
|
|
||||||
<span>{{mb_substr($item->settlement_amount, 0, 10)}}</span></td>
|
|
||||||
<!-- 印紙貼付フラグ -->
|
|
||||||
<td class='sm-item text-right'>
|
|
||||||
<span>{{mb_substr($item->stamp_flag, 0, 10)}}</span></td>
|
|
||||||
<!-- MD5ハッシュ値 -->
|
|
||||||
<td class='sm-item text-right'>
|
|
||||||
<span>{{mb_substr($item->md5_string, 0, 10)}}</span></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
@endforeach
|
@endforeach
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<!-- /.row -->
|
|
||||||
</div><!-- /.container-fluid -->
|
|
||||||
</section>
|
|
||||||
<!-- /.content -->
|
|
||||||
|
|
||||||
@endsection
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
@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();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// インポート:ファイル選択→自動送信(必要なら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
|
||||||
|
@endsection
|
||||||
|
|||||||
80
resources/views/admin/tax/_form.blade.php
Normal file
80
resources/views/admin/tax/_form.blade.php
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
@if(Session::has('success'))
|
||||||
|
<div class="alert alert-success alert-dismissible">{{ Session::get('success') }}</div>
|
||||||
|
@elseif(Session::has('error'))
|
||||||
|
<div class="alert alert-danger alert-dismissible">{{ Session::get('error') }}</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
<div class="card p-4">
|
||||||
|
|
||||||
|
{{-- 登録・削除 ボタン(上部) --}}
|
||||||
|
<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>
|
||||||
|
@else
|
||||||
|
<button type="submit" class="btn btn-lg btn成功 btn-success">登録</button>
|
||||||
|
@if($isEdit)
|
||||||
|
<a href="{{ route('tax_delete', ['id' => $tax->tax_id]) }}"
|
||||||
|
class="btn btn-lg btn-danger ms-2"
|
||||||
|
onclick="return confirm('削除してよろしいですか?')">削除</a>
|
||||||
|
@endif
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="border-top my-3"></div>
|
||||||
|
|
||||||
|
{{-- 消費税ID(編集/参照のみ表示、システム自動入力) --}}
|
||||||
|
@if($isEdit || $isInfo)
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">消費税ID</label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<input type="text" class="form-control" value="{{ $tax->tax_id ?? '' }}" readonly>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
{{-- 消費税率(必須・数値・負数不可) --}}
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">消費税率 <span class="text-danger">*</span></label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<input type="number"
|
||||||
|
name="tax_percent"
|
||||||
|
class="form-control @error('tax_percent') is-invalid @enderror"
|
||||||
|
value="{{ old('tax_percent', isset($tax->tax_percent) ? (is_numeric($tax->tax_percent) ? number_format((float)$tax->tax_percent, 2, '.', '') : $tax->tax_percent) : '') }}"
|
||||||
|
step="0.01" min="0" inputmode="decimal"
|
||||||
|
placeholder="例)10.00"
|
||||||
|
@if($isInfo) readonly @endif>
|
||||||
|
@error('tax_percent')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||||
|
<small class="text-muted">数値(半角)で入力してください。例:10.00 ※負数不可</small>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 適用日(必須・日付型) --}}
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">適用日 <span class="text-danger">*</span></label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<input type="date"
|
||||||
|
name="tax_day"
|
||||||
|
class="form-control @error('tax_day') is-invalid @enderror"
|
||||||
|
value="{{ old('tax_day', optional($tax->tax_day ?? null)->format('Y-m-d')) }}"
|
||||||
|
@if($isInfo) readonly @endif>
|
||||||
|
@error('tax_day')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="border-top my-3"></div>
|
||||||
|
|
||||||
|
{{-- 登録・削除 ボタン(下部重ね) --}}
|
||||||
|
<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>
|
||||||
|
@else
|
||||||
|
<button type="submit" class="btn btn-lg btn-success">登録</button>
|
||||||
|
@if($isEdit)
|
||||||
|
<a href="{{ route('tax_delete', ['id' => $tax->tax_id]) }}"
|
||||||
|
class="btn btn-lg btn-danger ms-2"
|
||||||
|
onclick="return confirm('削除してよろしいですか?')">削除</a>
|
||||||
|
@endif
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
34
resources/views/admin/tax/add.blade.php
Normal file
34
resources/views/admin/tax/add.blade.php
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
@extends('layouts.app')
|
||||||
|
@section('title', '新規')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<div class="content-header">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row mb-2">
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<h1 class="m-0 text-dark">新規</h1>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<ol class="breadcrumb float-sm-right text-sm">
|
||||||
|
<li class="breadcrumb-item"><a href="{{ route('home') }}">ホーム</a></li>
|
||||||
|
<li class="breadcrumb-item"><a href="{{ route('tax') }}">消費税マスタ</a></li>
|
||||||
|
<li class="breadcrumb-item active">新規</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<form action="{{ route('tax_add') }}" method="POST">
|
||||||
|
@csrf
|
||||||
|
@include('admin.tax._form', [
|
||||||
|
'tax' => null,
|
||||||
|
'isEdit' => false,
|
||||||
|
'isInfo' => false
|
||||||
|
])
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
@endsection
|
||||||
34
resources/views/admin/tax/edit.blade.php
Normal file
34
resources/views/admin/tax/edit.blade.php
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
@extends('layouts.app')
|
||||||
|
@section('title', '消費税 編集')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<div class="content-header">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row mb-2">
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<h1 class="m-0 text-dark">編集</h1>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<ol class="breadcrumb float-sm-right text-sm">
|
||||||
|
<li class="breadcrumb-item"><a href="{{ route('home') }}">ホーム</a></li>
|
||||||
|
<li class="breadcrumb-item"><a href="{{ route('tax') }}">消費税マスタ</a></li>
|
||||||
|
<li class="breadcrumb-item active">編集</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<form action="{{ route('tax_edit', ['tax_id' => $tax->tax_id]) }}" method="POST">
|
||||||
|
@csrf
|
||||||
|
@include('admin.tax._form', [
|
||||||
|
'tax' => $tax,
|
||||||
|
'isEdit' => true,
|
||||||
|
'isInfo' => false
|
||||||
|
])
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
@endsection
|
||||||
35
resources/views/admin/tax/info.blade.php
Normal file
35
resources/views/admin/tax/info.blade.php
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
@extends('layouts.app')
|
||||||
|
@section('title', '[東京都|〇〇駐輪場] 消費税マスタ - 詳細')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<!-- 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"><a href="{{ route('tax') }}">消費税マスタ</a></li>
|
||||||
|
<li class="breadcrumb-item active">詳細</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<form>
|
||||||
|
@include('admin.tax._form', [
|
||||||
|
'tax' => $tax,
|
||||||
|
'isEdit' => false,
|
||||||
|
'isInfo' => true
|
||||||
|
])
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
@endsection
|
||||||
155
resources/views/admin/tax/list.blade.php
Normal file
155
resources/views/admin/tax/list.blade.php
Normal file
@ -0,0 +1,155 @@
|
|||||||
|
@extends('layouts.app')
|
||||||
|
@section('title', '消費税マスタ')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<!-- 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>
|
||||||
|
|
||||||
|
<!-- Main Content -->
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
{{-- 一覧のソート用(既存規約踏襲) --}}
|
||||||
|
<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') }}
|
||||||
|
</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>
|
||||||
|
@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('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">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th class="sorting {{ ($sort=='tax_id') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="tax_id">
|
||||||
|
<span>消費税ID</span>
|
||||||
|
</th>
|
||||||
|
<th class="sorting {{ ($sort=='tax_percent') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="tax_percent">
|
||||||
|
<span>消費税率</span>
|
||||||
|
</th>
|
||||||
|
<th class="sorting {{ ($sort=='tax_day') ? ($sort_type=='asc'?'sorting_asc':'sorting_desc') : '' }}" sort="tax_day">
|
||||||
|
<span>適用日</span>
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@foreach($taxes as $tax)
|
||||||
|
<tr>
|
||||||
|
<td class="sm-item text-left">{{ $tax->tax_id }}</td>
|
||||||
|
<td class="sm-item text-left">
|
||||||
|
@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>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<form action="{{ route('tax_export') }}" method="GET" id="form_export"></form>
|
||||||
|
|
||||||
|
{{-- 一括削除 & ソートのJS(既存規約に合わせ最小限) --}}
|
||||||
|
@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();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// ヘッダクリックでソート変更(既存 list と同様のカスタム属性 "sort" を使用)
|
||||||
|
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
|
||||||
112
resources/views/admin/terms/_form.blade.php
Normal file
112
resources/views/admin/terms/_form.blade.php
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
@if(Session::has('success'))
|
||||||
|
<div class="alert alert-success alert-dismissible">{{ Session::get('success') }}</div>
|
||||||
|
@elseif(Session::has('error'))
|
||||||
|
<div class="alert alert-danger alert-dismissible">{{ Session::get('error') }}</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
<div class="card p-4">
|
||||||
|
|
||||||
|
{{-- 登録・削除 ボタン --}}
|
||||||
|
<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>
|
||||||
|
@else
|
||||||
|
<button type="submit" class="btn btn-lg btn-success">登録</button>
|
||||||
|
@if($isEdit)
|
||||||
|
<a href="{{ route('terms_delete', ['id' => $term->terms_id]) }}"
|
||||||
|
class="btn btn-lg btn-danger ml-2"
|
||||||
|
onclick="return confirm('削除してよろしいですか?')">削除</a>
|
||||||
|
@endif
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="border-top my-3"></div>
|
||||||
|
{{-- 利用契約ID --}}
|
||||||
|
@if($isEdit || $isInfo)
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">利用契約ID</label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<input type="text" class="form-control" value="{{ $term->terms_id ?? '' }}" readonly>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
{{-- 市区ID --}}
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">市区ID<span class="text-danger">*</span></label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<select name="city_id" class="form-control" @if($isInfo) disabled @endif>
|
||||||
|
<option value="">都市を選択</option>
|
||||||
|
@foreach($cities as $id => $city_name)
|
||||||
|
<option value="{{ $id }}" @if(old('city_id', $term->city_id ?? '') == $id) selected @endif>{{ $city_name }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 使用中 --}}
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">使用中</label>
|
||||||
|
<div class="col-md-10 pt-2">
|
||||||
|
<div class="form-check form-check-inline">
|
||||||
|
<input class="form-check-input" type="radio" name="use_flag" value="1" @if(($term->use_flag ?? '') == 1) checked @endif @if($isInfo) disabled @endif>
|
||||||
|
<label class="form-check-label">使用中</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-check form-check-inline">
|
||||||
|
<input class="form-check-input" type="radio" name="use_flag" value="0" @if(($term->use_flag ?? '') == 0) checked @endif @if($isInfo) disabled @endif>
|
||||||
|
<label class="form-check-label">過去のバージョン</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- リビジョン --}}
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">リビジョン<span class="text-danger">*</span></label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<input type="text" name="terms_revision" class="form-control"
|
||||||
|
value="{{ old('terms_revision', $term->terms_revision ?? '') }}"
|
||||||
|
@if($isInfo) readonly @endif>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 契約内容 --}}
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">契約内容<span class="text-danger">*</span></label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<textarea name="terms_text" rows="5" class="form-control" @if($isInfo) readonly @endif>{{ old('terms_text', $term->terms_text ?? '') }}</textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 備考 --}}
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">備考</label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<input type="text" name="memo" class="form-control"
|
||||||
|
value="{{ old('memo', $term->memo ?? '') }}" @if($isInfo) readonly @endif>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 使用開始日 --}}
|
||||||
|
<div class="row mb-3">
|
||||||
|
<label class="col-md-2 col-form-label">使用開始日</label>
|
||||||
|
<div class="col-md-10">
|
||||||
|
<input type="date" name="start_date" class="form-control"
|
||||||
|
value="{{ old('start_date', $term->start_date ?? '') }}" @if($isInfo) readonly @endif>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- 登録・削除 ボタン --}}
|
||||||
|
<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>
|
||||||
|
@else
|
||||||
|
<button type="submit" class="btn btn-lg btn-success">登録</button>
|
||||||
|
@if($isEdit)
|
||||||
|
<a href="{{ route('terms_delete', ['id' => $term->terms_id]) }}"
|
||||||
|
class="btn btn-lg btn-danger ml-2"
|
||||||
|
onclick="return confirm('削除してよろしいですか?')">削除</a>
|
||||||
|
@endif
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
35
resources/views/admin/terms/add.blade.php
Normal file
35
resources/views/admin/terms/add.blade.php
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
@extends('layouts.app')
|
||||||
|
@section('title', '新規')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<div class="content-header">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row mb-2">
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<h1 class="m-0 text-dark">新規</h1>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<ol class="breadcrumb float-sm-right text-sm">
|
||||||
|
<li class="breadcrumb-item"><a href="{{ route('home') }}">ホーム</a></li>
|
||||||
|
<li class="breadcrumb-item"><a href="{{ route('terms') }}">利用契約マスタ</a></li>
|
||||||
|
<li class="breadcrumb-item active">新規</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<form action="{{ route('terms_add') }}" method="POST">
|
||||||
|
@csrf
|
||||||
|
@include('admin.terms._form', [
|
||||||
|
'term' => null,
|
||||||
|
'cities' => $cities,
|
||||||
|
'isEdit' => false,
|
||||||
|
'isInfo' => false
|
||||||
|
])
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
@endsection
|
||||||
35
resources/views/admin/terms/edit.blade.php
Normal file
35
resources/views/admin/terms/edit.blade.php
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
@extends('layouts.app')
|
||||||
|
@section('title', '利用契約 編集')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<div class="content-header">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row mb-2">
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<h1 class="m-0 text-dark">利用契約 編集</h1>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<ol class="breadcrumb float-sm-right text-sm">
|
||||||
|
<li class="breadcrumb-item"><a href="{{ route('home') }}">ホーム</a></li>
|
||||||
|
<li class="breadcrumb-item"><a href="{{ route('terms') }}">利用契約マスタ</a></li>
|
||||||
|
<li class="breadcrumb-item active">編集</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<form action="{{ route('terms_edit', ['term_id' => $term->terms_id]) }}" method="POST">
|
||||||
|
@csrf
|
||||||
|
@include('admin.terms._form', [
|
||||||
|
'term' => $term,
|
||||||
|
'cities' => $cities,
|
||||||
|
'isEdit' => true,
|
||||||
|
'isInfo' => false
|
||||||
|
])
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
@endsection
|
||||||
36
resources/views/admin/terms/info.blade.php
Normal file
36
resources/views/admin/terms/info.blade.php
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
@extends('layouts.app')
|
||||||
|
@section('title', '[東京都|〇〇駐輪場] 利用契約マスタ - 詳細')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<!-- 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"><a href="{{ route('terms') }}">利用契約マスタ</a></li>
|
||||||
|
<li class="breadcrumb-item active">詳細</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<form>
|
||||||
|
@include('admin.terms._form', [
|
||||||
|
'term' => $term,
|
||||||
|
'cities' => $cities,
|
||||||
|
'isEdit' => false,
|
||||||
|
'isInfo' => true
|
||||||
|
])
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
@endsection
|
||||||
117
resources/views/admin/terms/list.blade.php
Normal file
117
resources/views/admin/terms/list.blade.php
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
@extends('layouts.app')
|
||||||
|
@section('title', '利用契約マスタ')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<!-- 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>
|
||||||
|
|
||||||
|
<!-- Main Content -->
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<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>
|
||||||
|
|
||||||
|
<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>
|
||||||
|
@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('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">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<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 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>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<form action="{{ route('terms_export') }}" method="GET" id="form_export"></form>
|
||||||
|
@endsection
|
||||||
@ -408,12 +408,13 @@
|
|||||||
{{--<p>{{__('利用者分類マスタ')}}</p>--}}
|
{{--<p>{{__('利用者分類マスタ')}}</p>--}}
|
||||||
{{--</a>--}}
|
{{--</a>--}}
|
||||||
{{--</li>--}}
|
{{--</li>--}}
|
||||||
{{--<li class="nav-item">--}}
|
<!-- <li class="nav-item">
|
||||||
{{--<a href="./example.html" class="nav-link">--}}
|
<a href="{{ route('neighbor_stations') }}" class="nav-link">
|
||||||
{{--<i class="fa fa-circle-o nav-icon"></i>--}}
|
<i class="fa fa-circle-o nav-icon"></i>
|
||||||
{{--<p>近傍駅マスタ</p>--}}
|
<p>近傍駅マスタ</p>
|
||||||
{{--</a>--}}
|
</a>
|
||||||
{{--</li>--}}
|
</li> -->
|
||||||
|
|
||||||
{{--<li class="nav-item">--}}
|
{{--<li class="nav-item">--}}
|
||||||
{{--<a href="./example.html" class="nav-link">--}}
|
{{--<a href="./example.html" class="nav-link">--}}
|
||||||
{{--<i class="fa fa-circle-o nav-icon"></i>--}}
|
{{--<i class="fa fa-circle-o nav-icon"></i>--}}
|
||||||
@ -444,12 +445,12 @@
|
|||||||
{{--<p>{{__("オペレータキュー")}}</p>--}}
|
{{--<p>{{__("オペレータキュー")}}</p>--}}
|
||||||
{{--</a>--}}
|
{{--</a>--}}
|
||||||
{{--</li>--}}
|
{{--</li>--}}
|
||||||
{{--<li class="nav-item">--}}
|
<li class="nav-item">
|
||||||
{{--<a href="{{route('regular_types')}}" class="nav-link @if(app('router')->is('regular_types')) active @endif">--}}
|
<a href="{{ route('regular_types') }}" class="nav-link @if(app('router')->is('regular_types')) active @endif">
|
||||||
{{--<i class="fa fa-circle-o nav-icon"></i>--}}
|
<i class="fa fa-circle-o nav-icon"></i>
|
||||||
{{--<p>{{__("定期種別マスタ")}}</p>--}}
|
<p>{{ __("定期種別マスタ") }}</p>
|
||||||
{{--</a>--}}
|
</a>
|
||||||
{{--</li>--}}
|
</li>
|
||||||
{{--<li class="nav-item">--}}
|
{{--<li class="nav-item">--}}
|
||||||
{{--<a href="{{route('seals')}}" class="nav-link @if(app('router')->is('seals')) active @endif">--}}
|
{{--<a href="{{route('seals')}}" class="nav-link @if(app('router')->is('seals')) active @endif">--}}
|
||||||
{{--<i class="fa fa-circle-o nav-icon"></i>--}}
|
{{--<i class="fa fa-circle-o nav-icon"></i>--}}
|
||||||
@ -468,6 +469,130 @@
|
|||||||
{{--<p>参照マスタ予約切り替え</p>--}}
|
{{--<p>参照マスタ予約切り替え</p>--}}
|
||||||
{{--</a>--}}
|
{{--</a>--}}
|
||||||
{{--</li>--}}
|
{{--</li>--}}
|
||||||
|
|
||||||
|
|
||||||
|
<li class="nav-item has-treeview">
|
||||||
|
<a href="#" class="nav-link">
|
||||||
|
<i class="fa fa-th nav-icon"></i>
|
||||||
|
<p>
|
||||||
|
駐輪場マスタ
|
||||||
|
<i class="right fa fa-angle-down"></i>
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
<ul class="nav nav-treeview">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="{{ route('regular_types') }}" class="nav-link @if(app('router')->is('regular_types')) active @endif">
|
||||||
|
<i class="fa fa-circle-o nav-icon"></i>
|
||||||
|
<p>{{ __("定期種別マスタ") }}</p>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="{{ route('neighbor_stations') }}" class="nav-link">
|
||||||
|
<i class="fa fa-circle-o nav-icon"></i>
|
||||||
|
<p>{{ __("近傍駅マスタ") }}</p>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="{{ route('terms') }}" class="nav-link @if(app('router')->is('terms')) active @endif">
|
||||||
|
<i class="fa fa-circle-o nav-icon"></i>
|
||||||
|
<p>{{ __("利用契約マスタ") }}</p>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="{{ route('jurisdiction_parkings') }}" class="nav-link @if(app('router')->is('jurisdiction_parkings')) active @endif">
|
||||||
|
<i class="fa fa-circle-o nav-icon"></i>
|
||||||
|
<p>{{ __("管轄駐輪場マスタ") }}</p>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="{{ route('print_areas') }}" class="nav-link @if(app('router')->is('print_areas')) active @endif">
|
||||||
|
<i class="fa fa-circle-o nav-icon"></i>
|
||||||
|
<p>{{ __("シール印刷範囲マスタ") }}</p>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="{{ route('contract_allowable_cities') }}" class="nav-link @if(app('router')->is('contract_allowable_cities')) active @endif">
|
||||||
|
<i class="fa fa-circle-o nav-icon"></i>
|
||||||
|
<p>{{ __("契約許容市区マスタ") }}</p>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="{{ route('managers') }}" class="nav-link @if(app('router')->is('managers')) active @endif">
|
||||||
|
<i class="fa fa-circle-o nav-icon"></i>
|
||||||
|
<p>{{ __("駐輪場管理者マスタ") }}</p>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
<li class="nav-item has-treeview">
|
||||||
|
<a href="#" class="nav-link">
|
||||||
|
<i class="fa fa-credit-card nav-icon"></i>
|
||||||
|
<p>
|
||||||
|
決済マスタ
|
||||||
|
<i class="right fa fa-angle-down"></i>
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
<ul class="nav nav-treeview">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="{{ route('tax') }}" class="nav-link @if(app('router')->is('tax')) active @endif">
|
||||||
|
<i class="fa fa-circle-o nav-icon"></i>
|
||||||
|
<p>{{ __("消費税マスタ") }}</p>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="{{ route('payments') }}" class="nav-link @if(app('router')->is('payments')) active @endif">
|
||||||
|
<i class="fa fa-circle-o nav-icon"></i>
|
||||||
|
<p>{{ __("決済情報マスタ") }}</p>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="{{ route('settlement_transactions') }}" class="nav-link @if(app('router')->is('settlement_transactions')) active @endif">
|
||||||
|
<i class="fa fa-circle-o nav-icon"></i>
|
||||||
|
<p>{{ __("決済トランザクション") }}</p>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item has-treeview">
|
||||||
|
<a href="#" class="nav-link">
|
||||||
|
<i class="nav-icon fa fa-cog"></i>
|
||||||
|
<p>
|
||||||
|
システムマスタ
|
||||||
|
<i class="right fa fa-angle-down"></i>
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
<ul class="nav nav-treeview">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="{{ route('opes') }}" class="nav-link @if(app('router')->is('opes')) active @endif">
|
||||||
|
<i class="fa fa-circle-o nav-icon"></i>
|
||||||
|
<p>{{ __("オペレーターマスタ") }}</p>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="{{ route('devices') }}" class="nav-link @if(app('router')->is('devices')) active @endif">
|
||||||
|
<i class="fa fa-circle-o nav-icon"></i>
|
||||||
|
<p>{{ __("デバイス管理マスタ") }}</p>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="{{ route('operator_ques') }}" class="nav-link @if(app('router')->is('operator_ques')) active @endif">
|
||||||
|
<i class="fa fa-circle-o nav-icon"></i>
|
||||||
|
<p>{{ __("オペレーターキュー") }}</p>
|
||||||
|
</a>
|
||||||
|
</li><li class="nav-item">
|
||||||
|
<a href="{{ route('settings') }}" class="nav-link @if(app('router')->is('settings')) active @endif">
|
||||||
|
<i class="fa fa-circle-o nav-icon"></i>
|
||||||
|
<p>{{ __("設定マスタ") }}</p>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user