main_ou #22

Merged
go.unhi merged 8 commits from main_ou into main 2025-09-01 14:06:38 +09:00
26 changed files with 1915 additions and 1988 deletions
Showing only changes of commit e1254515ff - Show all commits

View File

@ -0,0 +1,44 @@
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class InformationController extends Controller
{
public function list(Request $request)
{
// フィルター取得
$period = $request->input('period', 'month'); // デフォルト: 最新1ヵ月
$query = DB::table('bat_job_log')
->leftJoin('device', 'bat_job_log.device_id', '=', 'device.device_id')
->select(
'bat_job_log.job_log_id',
'bat_job_log.process_name',
'bat_job_log.job_name',
'bat_job_log.device_id',
'device.park_id',
'bat_job_log.status_comment',
'bat_job_log.status',
'bat_job_log.status_comment as comment',
'bat_job_log.created_at',
'bat_job_log.updated_at'
);
// 期間フィルター
if ($period === 'month') {
$query->where('bat_job_log.updated_at', '>=', now()->subMonth());
}
// 'all'の場合はフィルターなし
$jobs = $query->orderByDesc('bat_job_log.job_log_id')->limit(50)->get();
return view('admin.information.list', [
'jobs' => $jobs,
'period' => $period,
]);
}
}

View File

@ -0,0 +1,230 @@
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\User;
use App\Models\Usertype;
use App\Models\Ope;
class PersonalController extends Controller
{
/**
* 本人確認手動処理 一覧画面
*/
public function list(Request $request)
{
$query = User::query();
if ($request->filled('user_id')) {
$query->where('user_id', $request->input('user_id'));
}
$users = $query->paginate(20);
return view('admin.personal.list', [
'users' => $users,
'request' => $request,
]);
}
/**
* 本人確認手動処理 編集画面
*/
public function edit(Request $request, $id)
{
// 利用者情報取得
$user = User::where('user_id', $id)->firstOrFail();
// 利用者分類マスタ取得(ラジオボタン用)
$usertypes = Usertype::orderBy('sort_order')->get();
// POST時の処理
if ($request->isMethod('post')) {
// 利用者分類IDの更新
$user->user_categoryid = $request->input('user_categoryid', $user->user_categoryid);
// 本人確認チェックOK/NG
if ($request->input('check') === 'ok') {
$user->user_idcard_chk_flag = 1;
} elseif ($request->input('check') === 'ng') {
$user->user_idcard_chk_flag = 0;
// 備考欄も更新NG理由
$user->user_remarks = $request->input('user_remarks', $user->user_remarks);
}
$user->save();
return redirect()->route('personal')->with('success', '更新しました');
}
return view('admin.personal.edit', [
'user' => $user,
'usertypes' => $usertypes,
]);
}
}
class OpesController extends Controller
{
/**
* オペレータ一覧画面
*/
public function list(Request $request)
{
$sort = $request->input('sort', 'ope_id'); // デフォルト値を設定
$sort_type = $request->input('sort_type', 'asc'); // デフォルト値を設定
$query = Ope::query();
// 並び替え
$query->orderBy($sort, $sort_type);
$list = $query->paginate(20);
return view('admin.opes.list', [
'list' => $list,
'sort' => $sort,
'sort_type' => $sort_type,
'request' => $request,
]);
}
/**
* オペレータ編集画面
*/
public function edit(Request $request, $id)
{
$ope = \App\Models\Ope::findOrFail($id);
if ($request->isMethod('post')) {
// バリデーション&更新処理
// ...
}
// 各項目を配列で渡す
return view('admin.opes.edit', [
'ope_id' => $ope->ope_id,
'ope_name' => $ope->ope_name,
'login_id' => $ope->login_id,
'ope_pass' => '', // パスワードは空で
'ope_belong' => $ope->ope_belong,
'ope_type' => $ope->ope_type,
'ope_mail' => $ope->ope_mail,
'ope_phone' => $ope->ope_phone,
'ope_sendalart_que1' => $ope->ope_sendalart_que1,
'ope_sendalart_que2' => $ope->ope_sendalart_que2,
'ope_sendalart_que3' => $ope->ope_sendalart_que3,
'ope_sendalart_que4' => $ope->ope_sendalart_que4,
'ope_sendalart_que5' => $ope->ope_sendalart_que5,
'ope_sendalart_que6' => $ope->ope_sendalart_que6,
'ope_sendalart_que7' => $ope->ope_sendalart_que7,
'ope_sendalart_que8' => $ope->ope_sendalart_que8,
'ope_sendalart_que9' => $ope->ope_sendalart_que9,
'ope_sendalart_que10' => $ope->ope_sendalart_que10,
'ope_sendalart_que11' => $ope->ope_sendalart_que11,
'ope_sendalart_que12' => $ope->ope_sendalart_que12,
'ope_sendalart_que13' => $ope->ope_sendalart_que13,
'ope_auth1' => $ope->ope_auth1,
'ope_auth2' => $ope->ope_auth2,
'ope_auth3' => $ope->ope_auth3,
'ope_auth4' => $ope->ope_auth4,
'ope_quit_flag' => $ope->ope_quit_flag,
'ope_quitday' => $ope->ope_quitday,
]);
}
/**
* オペレータ一覧のエクスポート
*/
public function export(Request $request)
{
$filename = 'ope_export_' . date('Ymd_His') . '.csv';
$columns = [
'ope_id', 'ope_belong', 'login_id', 'ope_name', 'ope_pass', 'ope_type', 'ope_mail', 'ope_phone',
'ope_sendalart_que1', 'ope_sendalart_que2', 'ope_sendalart_que3', 'ope_sendalart_que4', 'ope_sendalart_que5',
'ope_sendalart_que6', 'ope_sendalart_que7', 'ope_sendalart_que8', 'ope_sendalart_que9', 'ope_sendalart_que10',
'ope_sendalart_que11', 'ope_sendalart_que12', 'ope_sendalart_que13',
'ope_auth1', 'ope_auth2', 'ope_auth3', 'ope_auth4',
'ope_quit_flag', 'ope_quitday', 'created_at', 'updated_at'
];
$ids = $request->input('pk', []);
if (!empty($ids)) {
$list = \App\Models\Ope::whereIn('ope_id', $ids)->select($columns)->get();
} else {
$list = \App\Models\Ope::select($columns)->get();
}
$callback = function() use ($list, $columns) {
$file = fopen('php://output', 'w');
// ヘッダー
fputcsv($file, $columns);
foreach ($list as $row) {
$data = [];
foreach ($columns as $col) {
$data[] = $row->$col;
}
fputcsv($file, $data);
}
fclose($file);
};
return response()->stream($callback, 200, [
"Content-Type" => "text/csv",
"Content-Disposition" => "attachment; filename={$filename}",
]);
}
/**
* オペレータの削除
*/
public function delete(Request $request)
{
// チェックされたIDの配列を受け取る想定
$ids = $request->input('pk', []);
if (!empty($ids)) {
\App\Models\Ope::whereIn('ope_id', $ids)->delete();
return redirect()->route('opes')->with('success', '削除しました');
}
return redirect()->route('opes')->with('error', '削除対象が選択されていません');
}
/**
* オペレータの追加
*/
public function add(Request $request)
{
if ($request->isMethod('post')) {
$validated = $request->validate([
'ope_name' => 'required|string|max:255',
'login_id' => 'required|string|max:255|unique:ope,login_id',
'password' => 'required|string|min:6|confirmed',
'ope_type' => 'required',
'ope_mail' => 'required|email',
]);
$ope = new \App\Models\Ope();
$ope->ope_name = $request->ope_name;
$ope->login_id = $request->login_id;
$ope->ope_pass = bcrypt($request->password);
$ope->ope_type = $request->ope_type;
$ope->ope_mail = $request->ope_mail;
$ope->ope_phone = $request->ope_phone;
for ($i = 1; $i <= 13; $i++) {
$field = "ope_sendalart_que{$i}";
$ope->$field = $request->$field ?? 0;
}
for ($i = 1; $i <= 4; $i++) {
$field = "ope_auth{$i}";
$ope->$field = $request->$field ?? '';
}
$ope->ope_quit_flag = $request->ope_quit_flag ?? 0;
$ope->ope_quitday = $request->ope_quitday ?? null;
$ope->save();
return redirect()->route('opes')->with('success', '登録しました');
}
return view('admin.opes.add');
}
}

View File

@ -0,0 +1,66 @@
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\User;
use App\Models\Usertype;
class PersonalController extends Controller
{
/**
* 本人確認手動処理 一覧画面
*/
public function list(Request $request)
{
$query = User::query();
if ($request->filled('user_id')) {
$query->where('user_id', $request->input('user_id'));
}
$users = $query->paginate(20);
return view('admin.personal.list', [
'users' => $users,
'request' => $request,
]);
}
/**
* 本人確認手動処理 編集画面
*/
public function edit(Request $request, $id)
{
// 利用者情報取得
$user = User::where('user_id', $id)->firstOrFail();
// 利用者分類マスタ取得(ラジオボタン用)
$usertypes = Usertype::orderBy('sort_order')->get();
// POST時の処理
if ($request->isMethod('post')) {
// 利用者分類IDの更新
$user->user_categoryid = $request->input('user_categoryid', $user->user_categoryid);
// 本人確認チェックOK/NG
if ($request->input('check') === 'ok') {
$user->user_idcard_chk_flag = 1;
} elseif ($request->input('check') === 'ng') {
$user->user_idcard_chk_flag = 0;
// 備考欄も更新NG理由
$user->user_remarks = $request->input('user_remarks', $user->user_remarks);
}
$user->save();
return redirect()->route('personal')->with('success', '更新しました');
}
return view('admin.personal.edit', [
'user' => $user,
'usertypes' => $usertypes,
]);
}
}

View File

@ -0,0 +1,28 @@
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class SealsController extends Controller
{
public function list(Request $request)
{
// ソート用パラメータを取得(デフォルト値を設定)
$sort = $request->input('sort', 'seal_issueid');
$sort_type = $request->input('sort_type', 'desc');
// sealテーブルを参照し、ソート
$list = DB::table('seal')
->orderBy($sort, $sort_type)
->paginate(20);
return view('admin.seals.list', [
'list' => $list,
'sort' => $sort,
'sort_type' => $sort_type,
]);
}
}

View File

@ -0,0 +1,41 @@
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class TagissueController extends Controller
{
public function list(Request $request)
{
// userテーブルから必要なカラムを取得
$query = DB::table('user')
->select(
'user_seq',
'user_tag_serial',
'user_tag_serial_64',
'user_tag_issue',
'user_name',
'user_mobile',
'user_homephone',
'user_regident_zip',
'user_regident_pre',
'user_regident_city',
'user_regident_add'
)
->orderByDesc('user_seq');
// 必要に応じてフィルタ追加
// if ($request->filled('user_tag_issue')) {
// $query->where('user_tag_issue', $request->input('user_tag_issue'));
// }
$users = $query->paginate(20);
return view('admin.tag_issue.list', [
'users' => $users,
]);
}
}

View File

@ -0,0 +1,61 @@
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Mail;
class ForgotPasswordController extends Controller
{
// パスワードリセット申請画面表示
public function showLinkRequestForm()
{
return view('auth.forgot-password');
}
// リセットメール送信
public function sendResetLinkEmail(Request $request)
{
$request->validate([
'email' => 'required|email',
'email_confirmation' => 'required|email|same:email',
], [
'email.required' => 'メールアドレスを入力してください。',
'email.email' => '正しいメールアドレス形式で入力してください。',
'email_confirmation.required' => '確認用メールアドレスを入力してください。',
'email_confirmation.email' => '正しいメールアドレス形式で入力してください。',
'email_confirmation.same' => 'メールアドレスが一致しません。',
]);
// ope_mailでユーザーを検索
$user = \App\Models\Ope::where('ope_mail', $request->input('email'))->first();
if (!$user) {
return back()->withErrors(['email' => '該当するユーザーが見つかりません。']);
}
// トークン生成
$token = Str::random(60);
// トークン保存(既存レコードがあれば更新)
DB::table('password_reset_tokens')->updateOrInsert(
['ope_mail' => $user->ope_mail],
[
'token' => $token,
'created_at' => now(),
]
);
// メール送信
$resetUrl = url('/reset-password?token=' . $token . '&email=' . urlencode($user->ope_mail));
Mail::raw("下記URLからパスワード再設定を行ってください。\n\n{$resetUrl}", function ($message) use ($user) {
$message->to($user->ope_mail)
->subject('パスワード再設定のご案内');
});
return back()->with('status', 'パスワード再設定メールを送信しました。');
}
}

View File

@ -0,0 +1,51 @@
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Hash;
use App\Models\Ope;
class ResetPasswordController extends Controller
{
public function showResetForm(Request $request)
{
$token = $request->query('token');
$email = $request->query('email');
return view('auth.reset-password', compact('token', 'email'));
}
public function reset(Request $request)
{
$request->validate([
'email' => 'required|email',
'token' => 'required',
'password' => 'required|confirmed|min:8',
]);
// トークンチェック
$record = DB::table('password_reset_tokens')
->where('ope_mail', $request->email)
->where('token', $request->token)
->first();
if (!$record) {
return back()->withErrors(['email' => '無効なトークンまたはメールアドレスです。']);
}
// パスワード更新
$user = Ope::where('ope_mail', $request->email)->first();
if (!$user) {
return back()->withErrors(['email' => 'ユーザーが見つかりません。']);
}
$user->password = Hash::make($request->password);
$user->save();
// トークン削除
DB::table('password_reset_tokens')->where('ope_mail', $request->email)->delete();
return redirect()->route('login')->with('status', 'パスワードを再設定しました。');
}
}

View File

@ -0,0 +1,228 @@
@extends('layouts.app')
@section('title', '常時表示インフォメーション')
@section('content')
<div class="container-fluid">
<div class="d-flex justify-content-between align-items-center mb-2">
<div class="col-lg-6">
<h3 class="m-0 text-dark">{{__('常時表示インフォメーション')}}</h3>
</div>
<nav aria-label="breadcrumb" class="mb-0" style="background: transparent;">
<ol class="breadcrumb px-2 py-2 mb-0" style="background: transparent;">
<li class="breadcrumb-item"><a href="{{ route('home') }}">ホーム</a></li>
<li class="breadcrumb-item active" aria-current="page">常時表示インフォメーション</li>
</ol>
</nav>
</div>
<!-- 絞り込み -->
<div class="card mb-3">
<div class="card-body">
<h5 class="mb-3">絞り込み</h5>
<!-- 1行目:表示期間フィルター -->
<div class="row mb-2">
<div class="col-md-12 font-weight-bold mb-1">表示期間フィルター</div>
<div class="col-md-12">
<div class="row">
<div class="col-md-3 mb-2">
<a href="{{ route('information', ['period' => 'month']) }}"
class="btn btn-sm filter-btn {{ (request('period', $period ?? 'month') == 'month') ? 'btn-warning' : 'btn-outline-secondary' }}"
style="width:120px;height:32px;"
data-group="period" data-value="month">
最新1ヵ月
</a>
</div>
<div class="col-md-3 mb-2"></div>
<div class="col-md-3 mb-2"></div>
<div class="col-md-3 mb-2">
<a href="{{ route('information', ['period' => 'all']) }}"
class="btn btn-sm filter-btn {{ (request('period', $period ?? 'month') == 'all') ? 'btn-warning' : 'btn-outline-secondary' }}"
style="width:120px;height:32px;"
data-group="period" data-value="all">
全期間表示
</a>
</div>
</div>
</div>
</div>
<!-- 2行目:種別フィルター -->
<div class="row mb-2">
<div class="col-md-12 font-weight-bold mb-1">種別フィルター</div>
<div class="col-md-12">
<div class="row">
<div class="col-md-3 mb-2">
<a href="#"
class="btn btn-sm filter-btn {{ (request('type', $type ?? 'all') == 'month') ? 'btn-warning' : 'btn-outline-secondary' }}"
style="width:120px;height:32px;"
data-group="type" data-value="month">
最新1ヵ月
</a>
</div>
<div class="col-md-3 mb-2">
<a href="#"
class="btn btn-sm filter-btn {{ (request('type', $type ?? 'all') == 'hard') ? 'btn-warning' : 'btn-outline-secondary' }}"
style="width:120px;height:32px;"
data-group="type" data-value="hard">
ハード異常
</a>
</div>
<div class="col-md-3 mb-2"></div>
<div class="col-md-3 mb-2">
<a href="#"
class="btn btn-sm filter-btn {{ (request('type', $type ?? 'all') == 'all') ? 'btn-warning' : 'btn-outline-secondary' }}"
style="width:120px;height:32px;"
data-group="type" data-value="all">
全種別表示
</a>
</div>
</div>
</div>
</div>
<!-- 3行目:ステータスフィルター -->
<div class="row mb-2">
<div class="col-md-12 font-weight-bold mb-1">ステータスフィルター</div>
<div class="col-md-12">
<div class="row">
<div class="col-md-3 mb-2">
<a href="#"
class="btn btn-sm filter-btn {{ (request('status', $status ?? 'untreated') == 'untreated') ? 'btn-warning' : 'btn-outline-secondary' }}"
style="width:120px;height:32px;"
data-group="status" data-value="untreated">
未対応表示
</a>
</div>
<div class="col-md-3 mb-2">
<a href="#"
class="btn btn-sm filter-btn {{ (request('status', $status ?? '') == 'inprogress') ? 'btn-warning' : 'btn-outline-secondary' }}"
style="width:120px;height:32px;"
data-group="status" data-value="inprogress">
着手を表示
</a>
</div>
<div class="col-md-3 mb-2">
<a href="#"
class="btn btn-sm filter-btn {{ (request('status', $status ?? '') == 'done') ? 'btn-warning' : 'btn-outline-secondary' }}"
style="width:120px;height:32px;"
data-group="status" data-value="done">
対応完了を表示
</a>
</div>
<div class="col-md-3 mb-2">
<a href="#"
class="btn btn-sm filter-btn {{ (request('status', $status ?? '') == 'all') ? 'btn-warning' : 'btn-outline-secondary' }}"
style="width:120px;height:32px;"
data-group="status" data-value="all">
全ステータス表示
</a>
</div>
</div>
</div>
</div>
<!-- 4行目:ステータス変更 -->
<div class="row mb-2">
<div class="col-md-12 font-weight-bold mb-1">ステータス変更</div>
<div class="col-md-12">
<div class="row">
<div class="col-md-3 mb-2">
<a href="#"
class="btn btn-sm filter-btn {{ (request('change', $change ?? '') == 'inprogress') ? 'btn-warning' : 'btn-outline-secondary' }}"
style="width:120px;height:32px;"
data-group="change" data-value="inprogress">
着手
</a>
</div>
<div class="col-md-3 mb-2">
<a href="#"
class="btn btn-sm filter-btn {{ (request('change', $change ?? '') == 'done') ? 'btn-warning' : 'btn-outline-secondary' }}"
style="width:120px;height:32px;"
data-group="change" data-value="done">
対応完了
</a>
</div>
<div class="col-md-3 mb-2"></div>
<div class="col-md-3 mb-2"></div>
</div>
</div>
</div>
</div>
</div>
<!-- データテーブル -->
<div class="table-responsive">
<table class="table table-bordered table-hover table-sm">
<thead class="thead-light">
<tr>
<th style="width:30px;"><input type="checkbox"></th>
<th>キューID</th>
<th>キュー種別</th>
<th>利用者</th>
<th>定期契約ID</th>
<th>駐輪場</th>
<th>キューコメント</th>
<th>キューステータス</th>
<th>コメント</th>
<th>登録日時</th>
<th>更新日時</th>
<th>更新オペレータ</th>
<th>リンク</th>
</tr>
</thead>
<tbody>
@foreach($jobs as $job)
<tr>
<td style="background-color:#faebd7;"><input type="checkbox"></td>
<td>{{ $job->job_log_id }}</td>
<td>{{ $job->process_name }}</td>
<td>{{ $job->job_name }}</td>
<td>{{ $job->device_id }}</td>
<td>{{ $job->park_id }}</td>
<td>{{ $job->status_comment }}</td>
<td>{{ $job->status }}</td>
<td>{{ $job->comment }}</td>
<td>{{ $job->created_at }}</td>
<td>{{ $job->updated_at }}</td>
<td>-</td>
<td><a href="#">詳細</a></td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
@push('scripts')
<script>
// ページロード時にデフォルト選択初回アクセス時のみperiod, type, statusを自動選択
window.addEventListener('DOMContentLoaded', function() {
// URLにperiod/type/statusパラメータがなければ初期選択
const url = new URL(window.location.href);
const hasPeriod = url.searchParams.has('period');
const hasType = url.searchParams.has('type');
const hasStatus = url.searchParams.has('status');
if (!hasPeriod) {
document.querySelector('.filter-btn[data-group="period"][data-value="month"]')?.classList.replace('btn-outline-secondary', 'btn-warning');
}
if (!hasType) {
document.querySelector('.filter-btn[data-group="type"][data-value="all"]')?.classList.replace('btn-outline-secondary', 'btn-warning');
}
if (!hasStatus) {
document.querySelector('.filter-btn[data-group="status"][data-value="untreated"]')?.classList.replace('btn-outline-secondary', 'btn-warning');
}
});
// フィルターボタンの選択状態切替
document.querySelectorAll('.filter-btn').forEach(function(btn) {
btn.addEventListener('click', function() {
var group = btn.getAttribute('data-group');
document.querySelectorAll('.filter-btn[data-group="' + group + '"]').forEach(function(b) {
b.classList.remove('btn-warning');
b.classList.add('btn-outline-secondary');
});
btn.classList.remove('btn-outline-secondary');
btn.classList.add('btn-warning');
});
});
</script>
@endpush
@endsection

View File

@ -1,523 +1,167 @@
@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($isInfo)
<a href="{{route('ope_add')}}" class="btn btn-lg btn-success">{{__('登録')}}</a>
<a href="{{route('ope_edit',['id'=>$ope_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($isInfo || $isEdit)
<!-- オペレータID -->
<!-- オペレータID只读 -->
@if(isset($ope_id))
<div class="form-group col-3">
<label>{{__('validation.attributes.ope_id')}}</label>
<label>{{__('オペレータID')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" value="{{$ope_id}}" @if(!$isInfo) placeholder="{{__('validation.attributes.ope_id')}}" @endif
class="form-control form-control-lg" readonly/>
</div>
<input type="text" class="form-control form-control-lg" value="{{ $ope_id }}" readonly>
</div>
@endif
@endif
<!-- オペレータ名 -->
<div class="form-group col-3">
<label @if(!$isInfo) class="required" @endif>{{__('validation.attributes.ope_name')}}</label>
<label class="required">{{__('validation.attributes.ope_name')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" value="{{$ope_name}}" @if(!$isInfo) placeholder="{{__('validation.attributes.ope_name')}}" @endif
name="ope_name"
class="form-control form-control-lg" @if($isInfo) readonly @endif/>
</div>
<input type="text" name="ope_name" class="form-control form-control-lg"
value="{{ old('ope_name', $ope_name ?? '') }}"
placeholder="{{__('validation.attributes.ope_name')}}" />
</div>
<!-- /.form group - オペレータ名 -->
@if(!$isInfo)
<div class="form-group col-3">
<label @if(!$isInfo) class="required" @endif>{{__('validation.attributes.password')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="password" name="password" class="form-control form-control-lg"
@if(!$isInfo) placeholder="{{__('validation.attributes.ope_name')}}" @endif>
</div>
</div>
<div class="form-group col-3">
<label @if(!$isInfo) class="required" @endif>{{__('validation.attributes.password_confirmation')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="password" name="password_confirmation" class="form-control form-control-lg"
@if(!$isInfo) placeholder="{{__('validation.attributes.password_confirmation')}}" @endif>
</div>
</div>
@endif
<!-- オペレータ種別 -->
<!-- ログインID -->
<div class="form-group col-3">
<label @if(!$isInfo) class="required" @endif>{{__('validation.attributes.ope_type')}}</label>
<label class="required">{{__('ログインID')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<select name="ope_type" class="form-control form-control-lg" @if($isInfo) disabled @endif>
<option value="">{{__('validation.attributes.ope_type')}}</option>
@foreach(\App\Ope::OPE_TYPE as $key => $item)
<option value="{{$key}}" @if($key == $ope_type) selected @endif>{{$item}}</option>
@endforeach
</select>
</div>
<input type="text" name="login_id" class="form-control form-control-lg"
value="{{ old('login_id', $login_id ?? '') }}"
placeholder="{{__('validation.attributes.login_id')}}" />
</div>
<!-- パスワード -->
<div class="form-group col-3">
<label class="required">{{__('validation.attributes.password')}}</label>
</div>
<div class="form-group col-9">
<input type="password" name="password" class="form-control form-control-lg"
placeholder="{{__('validation.attributes.password')}}" />
</div>
<!-- パスワード確認 -->
<div class="form-group col-3">
<label class="required">{{__('validation.attributes.password_confirmation')}}</label>
</div>
<div class="form-group col-9">
<input type="password" name="password_confirmation" class="form-control form-control-lg"
placeholder="{{__('validation.attributes.password_confirmation')}}" />
</div>
<!-- オペレータ種別 -->
<div class="form-group col-3">
<label class="required">{{__('validation.attributes.ope_type')}}</label>
</div>
<div class="form-group col-9">
<select name="ope_type" class="form-control form-control-lg">
<option value="">{{__('validation.attributes.ope_type')}}</option>
@foreach(\App\Models\Ope::OPE_TYPE as $key => $item)
<option value="{{$key}}" {{ old('ope_type', $ope_type ?? '') == $key ? 'selected' : '' }}>{{$item}}</option>
@endforeach
</select>
</div>
<!-- /.form group - オペレータ種別 -->
<!-- メールアドレス -->
<div class="form-group col-3">
<label @if(!$isInfo) class="required" @endif>{{__('validation.attributes.ope_mail')}}</label>
<label class="required">{{__('validation.attributes.ope_mail')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" value="{{$ope_mail}}" @if(!$isInfo) placeholder="{{__('validation.attributes.ope_mail')}}" @endif
name="ope_mail"
class="form-control form-control-lg" @if($isInfo) readonly @endif/>
</div>
<input type="text" name="ope_mail" class="form-control form-control-lg"
value="{{ old('ope_mail', $ope_mail ?? '') }}"
placeholder="{{__('validation.attributes.ope_mail')}}" />
</div>
<!-- /.form group - メールアドレス -->
<!-- 電話番号 -->
<div class="form-group col-3">
<label>{{__('validation.attributes.ope_phone')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" value="{{$ope_phone}}" @if(!$isInfo) placeholder="{{__('validation.attributes.ope_phone')}}" @endif
name="ope_phone"
class="form-control form-control-lg" @if($isInfo) readonly @endif/>
</div>
</div>
<!-- /.form group - 電話番号 -->
<!-- キュー1アラート送信 -->
<div class="form-group col-3">
<label>{{__('validation.attributes.ope_sendalart_que1')}}</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="ope_sendalart_que1" @if($isInfo) disabled @endif
value="1" {{$ope_sendalart_que1? 'checked':''}}>
<label class="form-check-label">{{__("はい")}}</label>
</div>
<div class="col-2 form-check">
<input type="radio" class="minimal"
name="ope_sendalart_que1" @if($isInfo) disabled @endif
value="0" {{!$ope_sendalart_que1? 'checked':''}}>
<label class="form-check-label">{{__("いいえ")}}</label>
</div>
</div>
</div>
<!-- /.form group - キュー1アラート送信 -->
<!-- キュー2アラート送信 -->
<div class="form-group col-3">
<label>{{__('validation.attributes.ope_sendalart_que2')}}</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="ope_sendalart_que2" @if($isInfo) disabled @endif
value="1" {{$ope_sendalart_que2? 'checked':''}}>
<label class="form-check-label">{{__("はい")}}</label>
</div>
<div class="col-2 form-check">
<input type="radio" class="minimal"
name="ope_sendalart_que2" @if($isInfo) disabled @endif
value="0" {{!$ope_sendalart_que2? 'checked':''}}>
<label class="form-check-label">{{__("いいえ")}}</label>
</div>
</div>
</div>
<!-- /.form group - キュー2アラート送信 -->
<!-- キュー3アラート送信 -->
<div class="form-group col-3">
<label>{{__('validation.attributes.ope_sendalart_que3')}}</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="ope_sendalart_que3" @if($isInfo) disabled @endif
value="1" {{$ope_sendalart_que3? 'checked':''}}>
<label class="form-check-label">{{__("はい")}}</label>
</div>
<div class="col-2 form-check">
<input type="radio" class="minimal"
name="ope_sendalart_que3" @if($isInfo) disabled @endif
value="0" {{!$ope_sendalart_que3? 'checked':''}}>
<label class="form-check-label">{{__("いいえ")}}</label>
</div>
</div>
</div>
<!-- /.form group - キュー3アラート送信 -->
<!-- キュー4アラート送信 -->
<div class="form-group col-3">
<label>{{__('validation.attributes.ope_sendalart_que4')}}</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="ope_sendalart_que4" @if($isInfo) disabled @endif
value="1" {{$ope_sendalart_que4? 'checked':''}}>
<label class="form-check-label">{{__("はい")}}</label>
</div>
<div class="col-2 form-check">
<input type="radio" class="minimal"
name="ope_sendalart_que4" @if($isInfo) disabled @endif
value="0" {{!$ope_sendalart_que4? 'checked':''}}>
<label class="form-check-label">{{__("いいえ")}}</label>
</div>
</div>
</div>
<!-- /.form group - キュー4アラート送信 -->
<!-- キュー5アラート送信 -->
<div class="form-group col-3">
<label>{{__('validation.attributes.ope_sendalart_que5')}}</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="ope_sendalart_que5" @if($isInfo) disabled @endif
value="1" {{$ope_sendalart_que5? 'checked':''}}>
<label class="form-check-label">{{__("はい")}}</label>
</div>
<div class="col-2 form-check">
<input type="radio" class="minimal"
name="ope_sendalart_que5" @if($isInfo) disabled @endif
value="0" {{!$ope_sendalart_que5? 'checked':''}}>
<label class="form-check-label">{{__("いいえ")}}</label>
</div>
</div>
</div>
<!-- /.form group - キュー5アラート送信 -->
<!-- キュー6アラート送信 -->
<div class="form-group col-3">
<label>{{__('validation.attributes.ope_sendalart_que6')}}</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="ope_sendalart_que6" @if($isInfo) disabled @endif
value="1" {{$ope_sendalart_que6? 'checked':''}}>
<label class="form-check-label">{{__("はい")}}</label>
</div>
<div class="col-2 form-check">
<input type="radio" class="minimal"
name="ope_sendalart_que6" @if($isInfo) disabled @endif
value="0" {{!$ope_sendalart_que6? 'checked':''}}>
<label class="form-check-label">{{__("いいえ")}}</label>
</div>
</div>
</div>
<!-- /.form group - キュー6アラート送信 -->
<!-- キュー7アラート送信 -->
<div class="form-group col-3">
<label>{{__('validation.attributes.ope_sendalart_que7')}}</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="ope_sendalart_que7" @if($isInfo) disabled @endif
value="1" {{$ope_sendalart_que7? 'checked':''}}>
<label class="form-check-label">{{__("はい")}}</label>
</div>
<div class="col-2 form-check">
<input type="radio" class="minimal"
name="ope_sendalart_que7" @if($isInfo) disabled @endif
value="0" {{!$ope_sendalart_que7? 'checked':''}}>
<label class="form-check-label">{{__("いいえ")}}</label>
</div>
</div>
</div>
<!-- /.form group - キュー7アラート送信 -->
<!-- キュー8アラート送信 -->
<div class="form-group col-3">
<label>{{__('validation.attributes.ope_sendalart_que8')}}</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="ope_sendalart_que8" @if($isInfo) disabled @endif
value="1" {{$ope_sendalart_que8? 'checked':''}}>
<label class="form-check-label">{{__("はい")}}</label>
</div>
<div class="col-2 form-check">
<input type="radio" class="minimal"
name="ope_sendalart_que8" @if($isInfo) disabled @endif
value="0" {{!$ope_sendalart_que8? 'checked':''}}>
<label class="form-check-label">{{__("いいえ")}}</label>
</div>
</div>
<input type="text" name="ope_phone" class="form-control form-control-lg"
value="{{ old('ope_phone', $ope_phone ?? '') }}"
placeholder="{{__('validation.attributes.ope_phone')}}" />
</div>
<!-- キュー9アラート送信 -->
<div class="form-group col-3">
<label>{{__('validation.attributes.ope_sendalart_que9')}}</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="ope_sendalart_que9" @if($isInfo) disabled @endif
value="1" {{$ope_sendalart_que9? 'checked':''}}>
<label class="form-check-label">{{__("はい")}}</label>
</div>
<div class="col-2 form-check">
<input type="radio" class="minimal"
name="ope_sendalart_que9" @if($isInfo) disabled @endif
value="0" {{!$ope_sendalart_que9? 'checked':''}}>
<label class="form-check-label">{{__("いいえ")}}</label>
</div>
<!-- キュー113アラート送信横向き3列 -->
@for($i=1;$i<=13;$i++)
@if($i == 1 || ($i-1)%3 == 0)
<div class="w-100"></div>
@endif
<div class="form-group col-3">
<label>{{__('validation.attributes.ope_sendalart_que'.$i)}}</label>
</div>
</div>
<div class="form-group col-1">
<input type="radio" class="minimal"
name="ope_sendalart_que{{$i}}"
value="1" {{ old('ope_sendalart_que'.$i, ${'ope_sendalart_que'.$i} ?? 0) == 1 ? 'checked' : '' }}>
<label class="form-check-label">{{__("はい")}}</label>
</div>
<div class="form-group col-1">
<input type="radio" class="minimal"
name="ope_sendalart_que{{$i}}"
value="0" {{ old('ope_sendalart_que'.$i, ${'ope_sendalart_que'.$i} ?? 0) == 0 ? 'checked' : '' }}>
<label class="form-check-label">{{__("いいえ")}}</label>
</div>
@endfor
<!-- キュー10アラート送信 -->
<div class="form-group col-3">
<label>{{__('validation.attributes.ope_sendalart_que10')}}</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="ope_sendalart_que10" @if($isInfo) disabled @endif
value="1" {{$ope_sendalart_que10? 'checked':''}}>
<label class="form-check-label">{{__("はい")}}</label>
</div>
<div class="col-2 form-check">
<input type="radio" class="minimal"
name="ope_sendalart_que10" @if($isInfo) disabled @endif
value="0" {{!$ope_sendalart_que10? 'checked':''}}>
<label class="form-check-label">{{__("いいえ")}}</label>
</div>
<!-- 権限付与2列横並び -->
@foreach([1=>'管理者権限付与',2=>'エリアマネージャー権限付与',3=>'エリアオペレーター権限付与',4=>'オペレーター権限付与'] as $n=>$label)
@if($n == 1 || $n == 3)
<div class="w-100"></div>
@endif
<div class="form-group col-3">
<label>{{__('validation.attributes.ope_auth'.$n)}}</label>
</div>
</div>
<!-- キュー11アラート送信 -->
<div class="form-group col-3">
<label>{{__('validation.attributes.ope_sendalart_que11')}}</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="ope_sendalart_que11" @if($isInfo) disabled @endif
value="1" {{$ope_sendalart_que11? 'checked':''}}>
<label class="form-check-label">{{__("はい")}}</label>
</div>
<div class="col-2 form-check">
<input type="radio" class="minimal"
name="ope_sendalart_que11" @if($isInfo) disabled @endif
value="0" {{!$ope_sendalart_que11? 'checked':''}}>
<label class="form-check-label">{{__("いいえ")}}</label>
</div>
<div class="form-group col-2">
<input type="radio" class="minimal"
name="ope_auth{{$n}}"
value="{{__($label)}}" {{ old('ope_auth'.$n, ${'ope_auth'.$n} ?? '') == __($label) ? 'checked' : '' }}>
<label class="form-check-label">{{__($label)}}</label>
</div>
</div>
<!-- キュー12アラート送信 -->
<div class="form-group col-3">
<label>{{__('validation.attributes.ope_sendalart_que12')}}</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="ope_sendalart_que12" @if($isInfo) disabled @endif
value="1" {{$ope_sendalart_que12? 'checked':''}}>
<label class="form-check-label">{{__("はい")}}</label>
</div>
<div class="col-2 form-check">
<input type="radio" class="minimal"
name="ope_sendalart_que12" @if($isInfo) disabled @endif
value="0" {{!$ope_sendalart_que12? 'checked':''}}>
<label class="form-check-label">{{__("いいえ")}}</label>
</div>
<div class="form-group col-2">
<input type="radio" class="minimal"
name="ope_auth{{$n}}"
value="{{__("付与しない")}}" {{ old('ope_auth'.$n, ${'ope_auth'.$n} ?? '') == __("付与しない") ? 'checked' : '' }}>
<label class="form-check-label">{{__("付与しない")}}</label>
</div>
</div>
<!-- キュー13アラート送信 -->
<div class="form-group col-3">
<label>{{__('validation.attributes.ope_sendalart_que13')}}</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="ope_sendalart_que13" @if($isInfo) disabled @endif
value="1" {{$ope_sendalart_que13? 'checked':''}}>
<label class="form-check-label">{{__("はい")}}</label>
</div>
<div class="col-2 form-check">
<input type="radio" class="minimal"
name="ope_sendalart_que13" @if($isInfo) disabled @endif
value="0" {{!$ope_sendalart_que13? 'checked':''}}>
<label class="form-check-label">{{__("いいえ")}}</label>
</div>
</div>
</div>
<!-- 管理者権限付与 -->
<div class="form-group col-3">
<label>{{__('validation.attributes.ope_auth1')}}</label>
</div>
<div class="form-group col-9">
<div class="row">
<div class="col-3 offset-1 form-check">
<input type="radio" class="minimal"
name="ope_auth1" @if($isInfo) disabled @endif
value="{{__("管理者権限付与")}}" {{$ope_auth1 == __("管理者権限付与")? 'checked':''}}>
<label class="form-check-label">{{__("管理者権限付与")}}</label>
</div>
<div class="col-2 form-check">
<input type="radio" class="minimal"
name="ope_auth1" @if($isInfo) disabled @endif
value="{{__("付与しない")}}" {{$ope_auth1 == __("付与しない")? 'checked':''}}>
<label class="form-check-label">{{__("付与しない")}}</label>
</div>
</div>
</div>
<!-- エリアマネージャー権限付与. -->
<div class="form-group col-3">
<label>{{__('validation.attributes.ope_auth2')}}</label>
</div>
<div class="form-group col-9">
<div class="row">
<div class="col-4 offset-1 form-check">
<input type="radio" class="minimal"
name="ope_auth2" @if($isInfo) disabled @endif
value="{{__("エリアマネージャー権限付与")}}" {{$ope_auth2 == __("エリアマネージャー権限付与")? 'checked':''}}>
<label class="form-check-label">{{__("エリアマネージャー権限付与")}}</label>
</div>
<div class="col-2 form-check">
<input type="radio" class="minimal"
name="ope_auth2" @if($isInfo) disabled @endif
value="{{__("付与しない")}}" {{$ope_auth2 == __("付与しない")? 'checked':''}}>
<label class="form-check-label">{{__("付与しない")}}</label>
</div>
</div>
</div>
<!-- エリアオペレーター権限付与. -->
<div class="form-group col-3">
<label>{{__('validation.attributes.ope_auth3')}}</label>
</div>
<div class="form-group col-9">
<div class="row">
<div class="col-4 offset-1 form-check">
<input type="radio" class="minimal"
name="ope_auth3" @if($isInfo) disabled @endif
value="{{__("エリアオペレーター権限付与")}}" {{$ope_auth3 == __("エリアオペレーター権限付与")? 'checked':''}}>
<label class="form-check-label">{{__("エリアオペレーター権限付与")}}</label>
</div>
<div class="col-2 form-check">
<input type="radio" class="minimal"
name="ope_auth3" @if($isInfo) disabled @endif
value="{{__("付与しない")}}" {{$ope_auth3 == __("付与しない")? 'checked':''}}>
<label class="form-check-label">{{__("付与しない")}}</label>
</div>
</div>
</div>
<!-- オペレーター権限付与. -->
<div class="form-group col-3">
<label>{{__('validation.attributes.ope_auth4')}}</label>
</div>
<div class="form-group col-9">
<div class="row">
<div class="col-4 offset-1 form-check">
<input type="radio" class="minimal"
name="ope_auth4" @if($isInfo) disabled @endif
value="{{__("オペレーター権限付与")}}" {{$ope_auth4 == __("オペレーター権限付与")? 'checked':''}}>
<label class="form-check-label">{{__("オペレーター権限付与")}}</label>
</div>
<div class="col-2 form-check">
<input type="radio" class="minimal"
name="ope_auth4" @if($isInfo) disabled @endif
value="{{__("付与しない")}}" {{$ope_auth4 == __("付与しない")? 'checked':''}}>
<label class="form-check-label">{{__("付与しない")}}</label>
</div>
</div>
</div>
@endforeach
<!-- 退職フラグ -->
<div class="form-group col-3">
<label>{{__('validation.attributes.ope_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="ope_quit_flag" @if($isInfo) disabled @endif
value="1" {{$ope_quit_flag? 'checked':''}}>
<label class="form-check-label">{{__('退職')}}</label>
</div>
<div class="col-2 form-check">
<input type="radio" class="minimal"
name="ope_quit_flag" @if($isInfo) disabled @endif
value="0" {{!$ope_quit_flag? 'checked':''}}>
<label class="form-check-label">{{__('退職しない')}}</label>
</div>
</div>
<div class="form-group col-2">
<input type="radio" class="minimal"
name="ope_quit_flag"
value="1" {{ old('ope_quit_flag', $ope_quit_flag ?? 0) == 1 ? 'checked' : '' }}>
<label class="form-check-label">{{__('退職')}}</label>
</div>
<div class="form-group col-2">
<input type="radio" class="minimal"
name="ope_quit_flag"
value="0" {{ old('ope_quit_flag', $ope_quit_flag ?? 0) == 0 ? 'checked' : '' }}>
<label class="form-check-label">{{__('退職しない')}}</label>
</div>
<!-- /.form group - 退職フラグ -->
<!-- 退職日 -->
<div class="form-group col-3">
<label>{{__('validation.attributes.ope_quitday')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<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/>
</div>
<input type="date" name="ope_quitday" class="form-control form-control-lg"
value="{{ old('ope_quitday', $ope_quitday ?? '') }}"
placeholder="{{__('validation.attributes.ope_quitday')}}" />
</div>
<!-- /.form group - 退職日 -->
</div>
@if($isInfo)
<a href="{{route('ope_add')}}" class="btn btn-lg btn-success">{{__('登録')}}</a>
<a href="{{route('ope_edit',['id'=>$ope_id])}}" class="btn btn-lg btn-danger">{{__('編集')}}</a>
@else
<button type="submit" class="btn btn-lg btn-danger register" >{{__('保存')}}</button>
@endIf
<div class="text-center mt-4">
@if($isInfo)
<a href="{{route('ope_add')}}" class="btn btn-lg btn-success">{{__('登録')}}</a>
<a href="{{route('ope_edit',['id'=>$ope_id])}}" class="btn btn-lg btn-danger">{{__('編集')}}</a>
@else
<button type="submit" class="btn btn-lg btn-success register">{{__('登録')}}</button>
@if(isset($isEdit) && $isEdit)
<button type="submit" name="delete" value="1" class="btn btn-lg btn-danger ml-2">{{__('削除')}}</button>
@endif
@endif
</div>
</div>

View File

@ -1,53 +1,51 @@
@extends('layouts.app')
@section('title', '[東京都|〇〇駐輪場] オペレータマスタ')
@section('content')
<!-- Content Header (Page header) -->
<div class="content-header">
<div class="container-fluid">
<div class="row mb-2">
<div class="col-lg-6">
<h1 class="m-0 text-dark">[東京都|〇〇駐輪場] オペレータマスタ</h1>
</div><!-- /.col -->
<div class="col-lg-6">
<ol class="breadcrumb float-sm-right text-sm">
<li class="breadcrumb-item"><a href="./index2.html">XX様info(ホーム)</a></li>
<li class="breadcrumb-item"><a href="./index3.html">[東京都|〇〇駐輪場]</a></li>
<li class="breadcrumb-item">オペレータマスタ</li>
<li class="breadcrumb-item active">[東京都|〇〇駐輪場] オペレータマスタ</li>
</ol>
</div><!-- /.col -->
</div><!-- /.row -->
</div><!-- /.container-fluid -->
</div>
<!-- /.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('ope_add')}}" enctype="multipart/form-data">
<!-- TOKEN FORM -->
<input type="hidden" name="_token" value="{{ csrf_token() }}" >
<!-- / .TOKEN FORM -->
@include('admin.opes._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 class="content-header"></div>
<div class="container-fluid">
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
</section>
<!-- /.content -->
@endif
<form method="post" action="{{ route('ope_add') }}">
@csrf
@include('admin.opes._form', [
'isEdit' => 0,
'isInfo' => 0,
// 必要な初期値を空で渡す
'ope_name' => '',
'login_id' => '',
'ope_pass' => '',
'ope_belong' => '',
'ope_type' => '',
'ope_mail' => '',
'ope_phone' => '',
'ope_sendalart_que1' => '',
'ope_sendalart_que2' => '',
'ope_sendalart_que3' => '',
'ope_sendalart_que4' => '',
'ope_sendalart_que5' => '',
'ope_sendalart_que6' => '',
'ope_sendalart_que7' => '',
'ope_sendalart_que8' => '',
'ope_sendalart_que9' => '',
'ope_sendalart_que10' => '',
'ope_sendalart_que11' => '',
'ope_sendalart_que12' => '',
'ope_sendalart_que13' => '',
'ope_auth1' => '',
'ope_auth2' => '',
'ope_auth3' => '',
'ope_auth4' => '',
'ope_quit_flag' => '',
'ope_quitday' => '',
])
</form>
</div>
@endsection

View File

@ -14,8 +14,7 @@
<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>
<li class="breadcrumb-item"><a href="{{ route('opes') }}">オペレータマスタ</a></li>
</ol>
</div><!-- /.col -->
</div><!-- /.row -->
@ -40,12 +39,6 @@
</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 -->

View File

@ -14,8 +14,7 @@
<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>
<li class="breadcrumb-item"><a href="{{ route('opes') }}">オペレータマスタ</a></li>
</ol>
</div><!-- /.col -->
</div><!-- /.row -->
@ -40,12 +39,6 @@
</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 -->

View File

@ -1,322 +1,132 @@
@extends('layouts.app')
@section('title', '[東京都|〇〇駐輪場] オペレータマスタ')
@section('content')
<div class="content-header">
<div class="container-fluid">
<div class="row mb-2">
<div class="col-lg-6">
<h1 class="m-0 text-dark">{{__('オペレータマスタ')}}</h1>
</div><!-- /.col -->
<div class="col-lg-6">
<ol class="breadcrumb float-sm-right text-sm">
<li class="breadcrumb-item"><a href="{{route('home')}}">XX様info(ホーム)</a></li>
<li class="breadcrumb-item"><a href="javascript: void(0);">[東京都|〇〇駐輪場]</a></li>
<li class="breadcrumb-item active">{{__('オペレータマスタ')}}</li>
</ol>
</div><!-- /.col -->
</div><!-- /.row -->
</div><!-- /.container-fluid -->
</div>
<!-- /.content-header -->
<!-- Main content -->
<section class="content">
<div class="container-fluid">
<!-- SELECT2 EXAMPLE -->
<div class="row">
<form action="{{route('opes')}}" 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('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>
{{ $list->appends(['sort' => $sort,'sort_type'=>$sort_type])->links('pagination') }}
</div>
<div class="form col-lg-12">
@if(Session::has('success'))
<div class="alert alert-success alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
{{ Session::get('success') }}
</div>
@elseif(Session::has('error'))
<div class="alert alert-danger alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4><i class="icon fa fa-ban"></i> {{__('誤差')}}:</h4>
{!! Session::get('error') !!}
</div>
@elseif(isset($errorMsg))
<div class="alert alert-danger alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4><i class="icon fa fa-ban"></i> {{__('誤差')}}:</h4>
{!! $errorMsg !!}
</div>
@endif
</div>
<div class="col-lg-12 row sample03-wrapper no_padding_right mb20">
<div class="col-xl-2 col-lg-2 col-md-2 col-sm-3 col-xs-3 table_left">
<form action="{{route('opes_delete')}}" method="post" id="form_delete">
<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->ope_id}}" name="pk[]">
<div class="btn_action">
{{--<a href="{{route('ope_add')}}" class="btn btn-sm btn-default">詳細</a>--}}
<a href="{{route('ope_info',['pk'=>$item->ope_id])}}"
class="btn btn-sm btn-default ml10">{{__('編集')}}</a>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</form>
</div>
<div class="col-lg-10 col-xl-10 col-md-10 col-sm-9 col-xs-9 table_right no_padding_right">
<div class="scroll">
<table class="table dataTable">
<thead>
<tr>
<!-- オペレータID -->
<th class="sorting @if($sort=="ope_id"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
sort="ope_id"><span>{{__('validation.attributes.ope_id')}}</span>
</th>
<!-- オペレータ名 -->
<th class="sorting @if($sort=="ope_name"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
sort="ope_name"><span>{{__('validation.attributes.ope_name')}}</span>
</th>
<!-- オペレータ名 -->
<th><span>{{__('validation.attributes.password')}}</span></th>
<!-- オペレータ種別 -->
<th class="sorting @if($sort=="ope_type"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
sort="ope_type"><span>{{__('validation.attributes.ope_type')}}</span>
</th>
<!-- メールアドレス -->
<th><span>{{__('validation.attributes.ope_mail')}}</span>
</th>
<!-- 電話番号 -->
<th class="sorting @if($sort=="ope_phone"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
sort="ope_phone"><span>{{__('validation.attributes.ope_phone')}}</span>
</th>
<!-- キュー1アラート送信 -->
<th class="sorting @if($sort=="ope_sendalart_que1"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
sort="ope_sendalart_que1">
<span>{{__('validation.attributes.ope_sendalart_que1')}}</span>
</th>
<!-- キュー2アラート送信 -->
<th class="sorting @if($sort=="ope_sendalart_que2"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
sort="ope_sendalart_que2">
<span>{{__('validation.attributes.ope_sendalart_que2')}}</span>
</th>
<!-- キュー3アラート送信 -->
<th class="sorting @if($sort=="ope_sendalart_que3"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
sort="ope_sendalart_que3">
<span>{{__('validation.attributes.ope_sendalart_que3')}}</span>
</th>
<!-- キュー4アラート送信 -->
<th class="sorting @if($sort=="ope_sendalart_que4"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
sort="ope_sendalart_que4">
<span>{{__('validation.attributes.ope_sendalart_que4')}}</span>
</th>
<!-- キュー5アラート送信 -->
<th class="sorting @if($sort=="ope_sendalart_que5"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
sort="ope_sendalart_que5">
<span>{{__('validation.attributes.ope_sendalart_que5')}}</span>
</th>
<!-- キュー6アラート送信 -->
<th class="sorting @if($sort=="ope_sendalart_que6"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
sort="ope_sendalart_que6">
<span>{{__('validation.attributes.ope_sendalart_que6')}}</span>
</th>
<!-- キュー7アラート送信 -->
<th class="sorting @if($sort=="ope_sendalart_que7"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
sort="ope_sendalart_que7">
<span>{{__('validation.attributes.ope_sendalart_que7')}}</span>
</th>
<!-- キュー8アラート送信 -->
<th class="sorting @if($sort=="ope_sendalart_que8"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
sort="ope_sendalart_que8">
<span>{{__('validation.attributes.ope_sendalart_que8')}}</span>
</th>
<!-- キュー9アラート送信 -->
<th class="sorting @if($sort=="ope_sendalart_que9"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
sort="ope_sendalart_que9">
<span>{{__('validation.attributes.ope_sendalart_que9')}}</span>
</th>
<!-- キュー10アラート送信 -->
<th class="sorting @if($sort=="ope_sendalart_que10"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
sort="ope_sendalart_que10">
<span>{{__('validation.attributes.ope_sendalart_que10')}}</span>
</th>
<!-- キュー11アラート送信 -->
<th class="sorting @if($sort=="ope_sendalart_que11"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
sort="ope_sendalart_que11">
<span>{{__('validation.attributes.ope_sendalart_que11')}}</span>
</th>
<!-- キュー12アラート送信 -->
<th class="sorting @if($sort=="ope_sendalart_que12"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
sort="ope_sendalart_que12">
<span>{{__('validation.attributes.ope_sendalart_que12')}}</span>
</th>
<!-- キュー13アラート送信 -->
<th class="sorting @if($sort=="ope_sendalart_que13"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
sort="ope_sendalart_que13">
<span>{{__('validation.attributes.ope_sendalart_que13')}}</span>
</th>
<!-- 管理者権限付与 -->
<th class="sorting @if($sort=="ope_auth1"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
sort="ope_auth1">
<span>{{__('validation.attributes.ope_auth1')}}</span>
</th>
<!-- エリアマネージャー権限付与 -->
<th class="sorting @if($sort=="ope_auth1"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
sort="ope_auth1">
<span>{{__('validation.attributes.ope_auth1')}}</span>
</th>
<!-- エリアオペレーター権限付与 -->
<th class="sorting @if($sort=="ope_auth1"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
sort="ope_auth1">
<span>{{__('validation.attributes.ope_auth1')}}</span>
</th>
<!-- オペレーター権限付与 -->
<th class="sorting @if($sort=="ope_auth1"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
sort="ope_auth1">
<span>{{__('validation.attributes.ope_auth1')}}</span>
</th>
<!-- 退職フラグ -->
<th class="sorting @if($sort=="ope_quit_flag"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
sort="ope_quit_flag"><span>{{__('validation.attributes.ope_quit_flag')}}</span>
</th>
<!-- 退職日 -->
<th class="sorting @if($sort=="ope_quitday"){{$sort_type == 'asc'?'sorting_asc':'sorting_desc'}}@endif"
sort="ope_quitday"><span>{{__('validation.attributes.ope_quitday')}}</span>
</th>
</tr>
</thead>
<tbody>
@foreach($list as $item)
<tr>
<!-- オペレータID -->
<td class='sm-item text-left'><span>{{mb_substr($item->ope_id, 0, 10)}}</span>
</td>
<!-- オペレータ名 -->
<td class='sm-item text-right'><span>{{mb_substr($item->ope_name, 0, 10)}}</span>
</td>
<td class='sm-item text-right'><span>{{mb_substr($item->ope_pass, 0, 10)}}</span>
</td>
<!-- オペレータ種別 -->
<td class='sm-item text-right'><span>{{__(\App\Ope::OPE_TYPE[$item->ope_type])}}</span>
</td>
<!-- メールアドレス -->
<td class='sm-item text-right'><span>{{mb_substr($item->ope_mail, 0, 10)}}</span>
</td>
<!-- 電話番号 -->
<td class='sm-item text-left'>
<span>{{mb_substr($item->ope_phone, 0, 15)}}</span></td>
<!-- キュー1アラート送信 -->
<td class='sm-item text-right'>
<span>{{$item->ope_sendalart_que1?__("はい"):__("いいえ")}}</span></td>
<!-- キュー2アラート送信 -->
<td class='sm-item text-right'>
<span>{{$item->ope_sendalart_que2?__("はい"):__("いいえ")}}</span></td>
<!-- キュー3アラート送信 -->
<td class='sm-item text-right'>
<span>{{$item->ope_sendalart_que3?__("はい"):__("いいえ")}}</span></td>
<!-- キュー4アラート送信 -->
<td class='sm-item text-right'>
<span>{{$item->ope_sendalart_que4?__("はい"):__("いいえ")}}</span></td>
<!-- キュー5アラート送信 -->
<td class='sm-item text-right'>
<span>{{$item->ope_sendalart_que5?__("はい"):__("いいえ")}}</span></td>
<!-- キュー6アラート送信 -->
<td class='sm-item text-right'>
<span>{{$item->ope_sendalart_que6?__("はい"):__("いいえ")}}</span></td>
<!-- キュー7アラート送信 -->
<td class='sm-item text-right'>
<span>{{$item->ope_sendalart_que7?__("はい"):__("いいえ")}}</span></td>
<!-- キュー8アラート送信 -->
<td class='sm-item text-right'>
<span>{{$item->ope_sendalart_que8?__("はい"):__("いいえ")}}</span></td>
<!-- キュー9アラート送信 -->
<td class='sm-item text-right'>
<span>{{$item->ope_sendalart_que9?__("はい"):__("いいえ")}}</span></td>
<!-- キュー10アラート送信 -->
<td class='sm-item text-right'>
<span>{{$item->ope_sendalart_que10?__("はい"):__("いいえ")}}</span></td>
<!-- キュー11アラート送信 -->
<td class='sm-item text-right'>
<span>{{$item->ope_sendalart_que11?__("はい"):__("いいえ")}}</span></td>
<!-- キュー12アラート送信 -->
<td class='sm-item text-right'>
<span>{{$item->ope_sendalart_que12?__("はい"):__("いいえ")}}</span></td>
<!-- キュー13アラート送信 -->
<td class='sm-item text-right'>
<span>{{$item->ope_sendalart_que13?__("はい"):__("いいえ")}}</span></td>
<!-- 管理者権限付与 -->
<td class='sm-item text-right'>
<span>{{$item->ope_auth1}}</span></td>
<!-- エリアマネージャー権限付与 -->
<td class='sm-item text-right'>
<span>{{$item->ope_auth2}}</span></td>
<!-- エリアオペレーター権限付与 -->
<td class='sm-item text-right'>
<span>{{$item->ope_auth3}}</span></td>
<!-- オペレーター権限付与 -->
<td class='sm-item text-right'>
<span>{{$item->ope_auth4}}</span></td>
<!-- 退職フラグ -->
<td class='sm-item text-right'><span>{{$item->ope_quit_flag?__("退職"):__("退職しない")}}</span>
</td>
<!-- 退職日 -->
<td class='sm-item text-right'>
@if($item->ope_quitday)
<span class="text-muted"><i class="fa fa-clock-o mr-1"></i>
{{mb_substr($item->ope_quitday, 0, 10)}}
</span>
@endif
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
<div class="content-header">
<div class="container-fluid">
<div class="row mb-2">
<div class="col-lg-6">
<h1 class="m-0 text-dark">{{__('オペレータマスタ')}}</h1>
</div>
<!-- /.row -->
</div><!-- /.container-fluid -->
</section>
<!-- /.content -->
<div class="col-lg-6">
<ol class="breadcrumb float-sm-right text-sm">
<li class="breadcrumb-item"><a href="{{route('home')}}">XX様info(ホーム)</a></li>
<li class="breadcrumb-item"><a href="javascript: void(0);">[東京都|〇〇駐輪場]</a></li>
<li class="breadcrumb-item active">{{__('オペレータマスタ')}}</li>
</ol>
</div>
</div>
</div>
</div>
<section class="content">
<div class="container-fluid">
<div class="container-fluid mb20">
<button type="button" class="btn btn-sm btn-primary mr10"
onclick="location.href='{{ route('ope_add') }}'">新規</button>
<button type="submit" class="btn btn-sm btn-danger mr10" form="form_delete" name="delete" id="delete"
onclick="return confirm('選択した項目を削除しますか?');">削除</button>
<form action="{{ route('opes_import') }}" method="post" enctype="multipart/form-data" style="display:inline;" id="import_form">
@csrf
<input type="file" name="import_file" id="import_file" style="display:none;" required>
<button type="button" class="btn btn-sm btn-info mr10" onclick="document.getElementById('import_file').click();">インポート</button>
</form>
<form id="csv_export_form" action="{{ route('opes_export') }}" method="post" style="display:inline;">
@csrf
<button type="submit" class="btn btn-sm btn-success mr10">CSV出力</button>
</form>
</div>
<div style="width:100%; text-align: right;">
{{ $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>
<form action="{{route('opes_delete')}}" method="post" id="form_delete">
@csrf
<div class="table-responsive text-nowrap">
<table class="table table-bordered table-hover" style="min-width:1800px;">
<thead class="thead-light">
<tr>
<th style="width:160px;">
<input type="checkbox" id="checkbox_all" >
</th>
<th>オペレータID</th>
<th>オペレータ名</th>
<th>オペレータ種別</th>
<th>メールアドレス</th>
<th>電話番号</th>
@for($i=1;$i<=13;$i++)
<th>キュー{{$i}}アラート送信</th>
@endfor
<th>管理者権限付与</th>
<th>エリアマネージャー権限付与</th>
<th>エリアオペレーター権限付与</th>
<th>オペレーター権限付与</th>
<th>退職フラグ</th>
<th>退職日</th>
</tr>
</thead>
<tbody>
@foreach($list as $item)
<tr>
<td style="background:#faebd7;">
<input type="checkbox" name="pk[]" value="{{$item->ope_id}}">
<a href="{{route('ope_info', ['id' => $item->ope_id])}}"
class="btn btn-sm btn-outline-primary ml-2">{{__('編集')}}</a>
</td>
<td>{{ $item->ope_id }}</td>
<td>{{ $item->ope_name }}</td>
<td>{{ \App\Models\Ope::OPE_TYPE[$item->ope_type] ?? $item->ope_type }}</td>
<td>{{ $item->ope_mail }}</td>
<td>{{ $item->ope_phone }}</td>
@for($i=1;$i<=13;$i++)
@php $field = "ope_sendalart_que{$i}"; @endphp
<td>{{ $item->$field ? 'はい' : 'いいえ' }}</td>
@endfor
<td>{{ $item->ope_auth1 ? '○' : '' }}</td>
<td>{{ $item->ope_auth2 ? '○' : '' }}</td>
<td>{{ $item->ope_auth3 ? '○' : '' }}</td>
<td>{{ $item->ope_auth4 ? '○' : '' }}</td>
<td>{{ $item->ope_quit_flag ? "退職" : "在職" }}</td>
<td>{{ $item->ope_quitday }}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<div class="mt-3" style="text-align:right;">
{{ $list->appends(['sort' => $sort, 'sort_type' => $sort_type])->links('pagination') }}
</div>
</form>
</div>
</section>
<script>
document.getElementById('checkbox_all')?.addEventListener('change', function(e){
document.querySelectorAll('input[name="pk[]"]').forEach(function(el){
el.checked = e.target.checked;
});
});
</script>
@endsection

View File

@ -1,53 +0,0 @@
@extends('layouts.app')
@section('title', '[東京都|〇〇駐輪場] 駐輪場マスタ')
@section('content')
<!-- Content Header (Page header) -->
<div class="content-header">
<div class="container-fluid">
<div class="row mb-2">
<div class="col-lg-6">
<h1 class="m-0 text-dark">[東京都|〇〇駐輪場] 駐輪場マスタ</h1>
</div><!-- /.col -->
<div class="col-lg-6">
<ol class="breadcrumb float-sm-right text-sm">
<li class="breadcrumb-item"><a href="./index2.html">XX様info(ホーム)</a></li>
<li class="breadcrumb-item"><a href="./index3.html">[東京都|〇〇駐輪場]</a></li>
<li class="breadcrumb-item">駐輪場マスタ</li>
<li class="breadcrumb-item active">利用者マスタ</li>
</ol>
</div><!-- /.col -->
</div><!-- /.row -->
</div><!-- /.container-fluid -->
</div>
<!-- /.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('park_info',['id'=>$park_id])}}" enctype="multipart/form-data">
<!-- TOKEN FORM -->
<input type="hidden" name="_token" value="{{ csrf_token() }}" >
<!-- / .TOKEN FORM -->
@include('admin.parks._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 -->
@endsection

View File

@ -0,0 +1,196 @@
@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="{{ route('personal') }}">本人確認手動処理</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('personal_edit', ['id' => $user->user_id]) }}" enctype="multipart/form-data">
@csrf
<div class="card mb-3">
<div class="card-body pb-2">
{{-- 上段本人確認写真1本人確認写真2 --}}
<div class="row align-items-start mb-3">
<div class="col-md-6 text-center mb-3 mb-md-0">
<div class="label-head">本人確認写真ファイル名1</div>
<div class="photo-box mx-auto">
@if($user->photo_filename1)
<img src="{{ asset('storage/photos/'.$user->photo_filename1) }}" alt="" class="img-fluid h-100 w-auto">
@endif
</div>
</div>
<div class="col-md-6 text-center">
<div class="label-head">本人確認写真ファイル名2</div>
<div class="photo-box mx-auto">
@if($user->photo_filename2)
<img src="{{ asset('storage/photos/'.$user->photo_filename2) }}" alt="" class="img-fluid h-100 w-auto">
@endif
</div>
</div>
</div>
{{-- 利用者ID利用者分類ID --}}
<div class="row align-items-start mb-3">
{{-- 利用者ID --}}
<div class="col-md-4 text-center mb-3 mb-md-0">
<div class="label-head">利用者ID</div>
<div class="id-board d-flex flex-column justify-content-center align-items-center">
<div class="id-caption">利用者ID</div>
<div class="id-value">{{ $user->user_id }}</div>
</div>
</div>
{{-- 利用者分類ID --}}
<div class="col-md-8">
<div class="label-head mb-1">利用者分類ID</div>
<div class="category-wrap">
@foreach($usertypes as $type)
<label class="cat-item">
<input type="radio"
name="user_categoryid"
value="{{ $type->user_categoryid }}"
{{ (string)$user->user_categoryid === (string)$type->user_categoryid ? 'checked' : '' }}>
{{ $type->print_name }}
</label>
@endforeach
</div>
</div>
</div>
{{-- 情報テーブル:見た目を目標画像に寄せる(左セル薄ベージュ、罫線、行間) --}}
<div class="table-responsive mb-2">
<table class="table table-bordered table-sm info-table">
<tbody>
<tr>
<th>利用者名</th><td class="w-25">{{ $user->user_name }}</td>
<th>フリガナ</th><td class="w-25">{{ $user->user_phonetic }}</td>
<th>携帯電話番号</th><td class="w-25">{{ $user->user_mobile }}</td>
</tr>
<tr>
<th>自宅電話番号</th><td>{{ $user->user_homephone }}</td>
<th>生年月日</th><td>{{ $user->user_birthdate }}</td>
<th>メールアドレス</th><td>{{ $user->user_primemail }}</td>
</tr>
<tr>
<th>契約予定駐輪場名</th>
<td colspan="5">{{ $user->user_park_number }}</td>
</tr>
{{-- 居住所 --}}
<tr>
<th rowspan="2" class="align-middle">居住所</th>
<th class="sub">郵便番号</th><td>{{ $user->user_regident_zip }}</td>
<th class="sub">都道府県</th><td>{{ $user->user_regident_pre }}</td>
<td></td>
</tr>
<tr>
<th class="sub">市区群</th><td>{{ $user->user_regident_city }}</td>
<th class="sub">住所</th><td colspan="2">{{ $user->user_regident_add }}</td>
</tr>
{{-- 関連住所 --}}
<tr>
<th rowspan="2" class="align-middle">関連住所</th>
<th class="sub">郵便番号</th><td>{{ $user->user_relate_zip }}</td>
<th class="sub">都道府県</th><td>{{ $user->user_relate_pre }}</td>
<td></td>
</tr>
<tr>
<th class="sub">市区群</th><td>{{ $user->user_relate_city }}</td>
<th class="sub">住所</th><td colspan="2">{{ $user->user_relate_add }}</td>
</tr>
<tr>
<th>学校</th><td>{{ $user->user_school }}</td>
<th>卒業予定</th><td>{{ $user->user_graduate }}</td>
<th>区民</th><td>{{ $user->ward_residents }}</td>
</tr>
<tr>
<th>備考</th>
<td colspan="5">{{ $user->user_remarks }}</td>
</tr>
<tr>
<th>本人確認書類</th>
<td colspan="5">{{ $user->user_idcard }}</td>
</tr>
</tbody>
</table>
</div>
{{-- 注意文&アクション --}}
<div class="alert alert-info mb-3">
本人確認書類写真と登録情報を比較して問題なければ、「本人確認チェックOK」ボタンを押下してください。<br>
問題がある場合は「備考」にNG理由を記載のうえ、「本人確認チェックNG」ボタンを押下してください。
</div>
<div class="row">
<div class="col-md-6 mb-2 mb-md-0">
<button type="submit" name="check" value="ok" class="btn btn-success btn-block">
本人確認チェックOK
</button>
</div>
<div class="col-md-6">
<button type="submit" name="check" value="ng" class="btn btn-danger btn-block">
本人確認チェックNG
</button>
</div>
</div>
</div>
</div>
</form>
</div>
</section>
{{-- 専用スタイル(目標画像の見た目に寄せる) --}}
<style>
.label-head{font-weight:600; margin-bottom:.25rem;}
.photo-box{width:220px;height:160px;border:1px solid #ddd;background:#fff;overflow:hidden}
.id-board{width:100%;height:160px;border:1px solid #ddd;background:#f1f3f5}
.id-caption{font-size:.9rem;color:#6c757d;margin-bottom:.25rem}
.id-value{font-size:1.25rem;font-weight:700;letter-spacing:.5px}
/* 利用者分類IDを2段組みで縦に長いときも見やすく */
.category-wrap{
max-height: 260px;
overflow:auto;
padding:.5rem .75rem;
border:1px solid #e5e5e5;
background:#fff;
column-count:2;
column-gap: 2rem;
}
@media (max-width: 768px){ .category-wrap{column-count:1;} }
.cat-item{break-inside: avoid; display:block; margin:.25rem 0; white-space:nowrap;}
.cat-item input{margin-right:.35rem;}
/* テーブル見た目を目標画像に合わせる */
.info-table th{
background:#fbf4e8; /* 薄いベージュ */
width: 12rem;
white-space: nowrap;
}
.info-table th.sub{background:#fffaf2;color:#555;font-weight:500;width:8rem;}
.info-table td{background:#fff;}
</style>
@endsection

View File

@ -0,0 +1,108 @@
@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 active">本人確認手動処理</li>
</ol>
</div>
</div>
</div>
</div>
<section class="content">
<div class="container-fluid">
{{-- フィルター(必要なら追加) --}}
{{-- <form method="get" action="{{ route('personal') }}" class="mb-3">
<div class="form-row">
<div class="col-auto">
<input type="text" name="user_id" class="form-control" placeholder="利用者ID" value="{{ request('user_id') }}">
</div>
<div class="col-auto">
<button type="submit" class="btn btn-default">検索</button>
</div>
</div>
</form> --}}
<div class="card">
<div class="card-body table-responsive">
<table class="table table-bordered table-hover text-nowrap" style="min-width:1400px;">
<thead class="thead-light">
<tr>
<th style="width:80px;">操作</th>
<th>利用者ID</th>
<th>利用者分類ID</th>
<th>利用者名</th>
<th>フリガナ</th>
<th>性別</th>
<th>生年月日</th>
<th>携帯電話番号</th>
<th>自宅電話番号</th>
<th>メールアドレス</th>
<th>居住所:郵便番号</th>
<th>居住所:都道府県</th>
<th>居住所:市区群</th>
<th>居住所:住所</th>
<th>関連住所:郵便番号</th>
<th>関連住所:都道府県</th>
<th>関連住所:市区群</th>
<th>関連住所:住所</th>
<th>学校</th>
<th>卒業予定</th>
<th>備考</th>
<th>本人確認書類</th>
</tr>
</thead>
<tbody>
@forelse($users as $user)
<tr>
<td style="background-color:#faebd7;">
<a href="{{ route('personal_edit', ['id' => $user->user_id]) }}" class="btn btn-sm btn-default">編集</a>
</td>
<td>{{ $user->user_id }}</td>
<td>{{ $user->user_categoryid }}</td>
<td>{{ $user->user_name }}</td>
<td>{{ $user->user_phonetic }}</td>
<td>{{ $user->user_gender }}</td>
<td>{{ $user->user_birthdate }}</td>
<td>{{ $user->user_mobile }}</td>
<td>{{ $user->user_homephone }}</td>
<td>{{ $user->user_primemail }}</td>
<td>{{ $user->user_regident_zip }}</td>
<td>{{ $user->user_regident_pre }}</td>
<td>{{ $user->user_regident_city }}</td>
<td>{{ $user->user_regident_add }}</td>
<td>{{ $user->user_relate_zip }}</td>
<td>{{ $user->user_relate_pre }}</td>
<td>{{ $user->user_relate_city }}</td>
<td>{{ $user->user_relate_add }}</td>
<td>{{ $user->user_school }}</td>
<td>{{ $user->user_graduate }}</td>
<td>{{ $user->user_remarks }}</td>
<td>{{ $user->user_idcard }}</td>
</tr>
@empty
<tr>
<td colspan="22" class="text-center text-muted">データがありません。</td>
</tr>
@endforelse
</tbody>
</table>
<div class="mt-2">
{{ $users->links('pagination') }}
</div>
</div>
</div>
</div>
</section>
@endsection

View File

@ -0,0 +1,130 @@
@extends('layouts.app')
@section('title', 'タグ発行キュー処理、履歴表示')
@section('content')
<div class="container-fluid">
<div class="d-flex justify-content-between align-items-center mb-2">
<h3 class="m-0 text-dark">タグ発行キュー処理、履歴表示</h3>
<nav aria-label="breadcrumb" class="mb-0" style="background: transparent;">
<ol class="breadcrumb px-2 py-2 mb-0" style="background: transparent;">
<li class="breadcrumb-item"><a href="{{ route('home') }}">ホーム</a></li>
<li class="breadcrumb-item active" aria-current="page">タグ発行キュー処理、履歴表示</li>
</ol>
</nav>
</div>
<!-- 絞り込み -->
<div class="card mb-3">
<div class="card-body">
<!-- 1行目:印刷処理 -->
<div class="row mb-2">
<div class="col-md-12 font-weight-bold mb-1">印刷処理</div>
<div class="col-md-12">
<div class="row g-1">
<div class="col-md-2 mb-1">
<button class="btn btn-outline-secondary btn-xs w-100 py-1 px-2" style="font-size:0.85rem;">タグ発送宛名印刷</button>
</div>
<div class="col-md-10 mb-1"></div>
</div>
</div>
</div>
<!-- 2行目:絞り込みフィルター -->
<div class="row mb-2">
<div class="col-md-12 font-weight-bold mb-1">絞り込みフィルター</div>
<div class="col-md-12">
<div class="row g-1">
<div class="col-md-2 mb-1">
<button class="btn btn-outline-secondary btn-xs w-100 py-1 px-2" style="font-size:0.85rem;">タグ発送未発送</button>
</div>
<div class="col-md-2 mb-1">
<button class="btn btn-outline-secondary btn-xs w-100 py-1 px-2" style="font-size:0.85rem;">タグ発送済み</button>
</div>
</div>
</div>
</div>
<!-- 3行目:タグシリアルフィルター -->
<div class="row mb-2">
<div class="col-md-12 font-weight-bold mb-1">タグシリアルフィルター</div>
<div class="col-md-12">
<div class="row align-items-center g-1">
<div class="col-auto font-weight-bold" style="padding-right:4px;">タグシリアル</div>
<div class="col-auto" style="min-width:140px;">
<input type="text" class="form-control form-control-sm" style="font-size:0.85rem; padding:2px 6px;" placeholder="キーワード…">
</div>
<div class="col-auto font-weight-bold" style="padding-right:4px; padding-left:8px;">タグシリアル64進</div>
<div class="col-auto" style="min-width:140px;">
<input type="text" class="form-control form-control-sm" style="font-size:0.85rem; padding:2px 6px;" placeholder="キーワード…">
</div>
<div class="col-auto text-end" style="padding-left:8px;">
<button class="btn btn-warning btn-xs py-1 px-2 me-1" style="font-size:0.85rem; min-width:60px;">絞り込み</button>
<button class="btn btn-warning btn-xs py-1 px-2" style="font-size:0.85rem; min-width:60px;">全表示</button>
</div>
</div>
</div>
</div>
<!-- 4行目:タグ発送ステータス変更 -->
<div class="row mb-2">
<div class="col-md-12 font-weight-bold mb-1">タグ発送ステータス変更</div>
<div class="col-md-12">
<div class="row g-1">
<div class="col-md-2 mb-1">
<button class="btn btn-outline-secondary btn-xs w-100 py-1 px-2" style="font-size:0.85rem;">タグ発送済み</button>
</div>
<div class="col-md-2 mb-1">
<button class="btn btn-outline-secondary btn-xs w-100 py-1 px-2" style="font-size:0.85rem;">タグ発送未発送</button>
</div>
<div class="col-md-8 mb-1"></div>
</div>
</div>
</div>
</div>
</div>
<!-- データテーブル -->
<div class="table-responsive">
<table class="table table-bordered table-hover table-sm">
<thead class="thead-light">
<tr>
<th style="width:30px; background-color"><input type="checkbox"></th>
<th>キューID</th>
<th>タグシリアル</th>
<th>タグシリアル64進</th>
<th>タグ発送ステータス</th>
<th>利用者名</th>
<th>携帯電話番号</th>
<th>自宅電話番号</th>
<th>居住所:郵便番号</th>
<th>居住所:都道府県</th>
<th>居住所:市区郡</th>
<th>居住所:住所</th>
</tr>
</thead>
<tbody>
@foreach($users as $user)
<tr>
<td style="background-color:#faebd7;"><input type="checkbox"></td>
<td>{{ $user->user_seq }}</td>
<td>{{ $user->user_tag_serial }}</td>
<td>{{ $user->user_tag_serial_64 }}</td>
<td>{{ $user->user_tag_issue }}</td>
<td>
<a href="{{ route('user_info', ['seq' => $user->user_seq]) }}" target="_blank">{{ $user->user_name }}</a>
</td>
<td>{{ $user->user_mobile }}</td>
<td>{{ $user->user_homephone }}</td>
<td>{{ $user->user_regident_zip }}</td>
<td>{{ $user->user_regident_pre }}</td>
<td>{{ $user->user_regident_city }}</td>
<td>{{ $user->user_regident_add }}</td>
</tr>
@endforeach
</tbody>
</table>
<div class="d-flex align-items-center mb-2">
<div class="ms-auto">
{{ $users->appends(request()->except('page'))->links('pagination') }}
</div>
</div>
</div>
</div>
@endsection

View File

@ -1,652 +0,0 @@
@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($isInfo)
<a href="{{route('user_add')}}" class="btn btn-lg btn-success">{{__('登録')}}</a>
<a href="{{route('user_edit',['id'=>$user_seq])}}" class="btn btn-lg btn-danger">{{__('編集')}}</a>
@else
<button type="submit" class="btn btn-lg btn-danger"
>{{__('保存')}}</button>
@endIf
</div>
<div class="card-body">
<div class="row">
@if($isInfo || $isEdit)
<div class="form-group col-3">
<label>{{__('validation.attributes.user_seq')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" value="{{$user_seq}}" @if(!$isInfo) placeholder="{{__('validation.attributes.user_seq')}}" @endIf
class="form-control form-control-lg" readonly/>
</div>
</div>
@endif
<div class="form-group col-3">
<label class="@if(!$isInfo) required @endIf">{{__('validation.attributes.user_id')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" name="user_id" value="{{$user_id}}"
@if(!$isInfo) placeholder="{{__('validation.attributes.user_id')}}" @endIf class="form-control form-control-lg"
@if($isInfo) readonly @endif/>
</div>
</div>
<div class="form-group col-3">
<label class="@if(!$isInfo) required @endIf">{{__('validation.attributes.member_id')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="email" name="member_id" value="{{$member_id}}"
@if(!$isInfo) placeholder="{{__('validation.attributes.member_id')}}" @endIf class="form-control form-control-lg"
@if($isInfo) readonly @endif/>
</div>
</div>
<div class="form-group col-3">
<label class="@if(!$isInfo) required @endIf">{{__('validation.attributes.user_pass')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="{{$isInfo?'text':'password'}}" @if($isInfo) value="{{$user_pass}}" readonly
@endIf name="password" class="form-control form-control-lg"
@if(!$isInfo) placeholder="{{__('validation.attributes.user_pass')}}" @endIf>
</div>
</div>
@if(!$isInfo)
<div class="form-group col-3">
<label class="@if(!$isInfo) required @endIf">{{__('validation.attributes.password_confirmation')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="password" name="password_confirmation" class="form-control form-control-lg"
@if(!$isInfo) placeholder="{{__('validation.attributes.password_confirmation')}}" @endIf>
</div>
</div>
@endif
<div class="form-group col-3">
<label>{{__('validation.attributes.user_manual_regist_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="user_manual_regist_flag" value="1"
{{$user_manual_regist_flag?'checked':''}} @if($isInfo) disabled @endif>
<label class="form-check-label">{{__("はい")}}</label>
</div>
<div class="col-2 form-check">
<input type="radio" class="minimal"
name="user_manual_regist_flag" value="0"
{{!$user_manual_regist_flag?'checked':''}} @if($isInfo) disabled @endif>
<label class="form-check-label">{{__("いいえ")}}</label>
</div>
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.user_mailing_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="user_mailing_flag" value="1"
{{$user_mailing_flag?'checked':''}} @if($isInfo) disabled @endif>
<label class="form-check-label">{{__("はい")}}</label>
</div>
<div class="col-2 form-check">
<input type="radio" class="minimal"
name="user_mailing_flag" value="0"
{{!$user_mailing_flag?'checked':''}} @if($isInfo) disabled @endif>
<label class="form-check-label">{{__("いいえ")}}</label>
</div>
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.contract_number')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" class="form-control form-control-lg"
@if(!$isInfo) placeholder="{{__('validation.attributes.contract_number')}}" @endIf
name="contract_number" @if($isInfo) readonly @endif
value="{{$contract_number}}">
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.user_tag_serial')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" class="form-control form-control-lg"
@if(!$isInfo) placeholder="{{__('validation.attributes.user_tag_serial')}}" @endIf
name="user_tag_serial" @if($isInfo) readonly @endif
value="{{$user_tag_serial}}">
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.user_tag_serial_64')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" class="form-control form-control-lg"
@if(!$isInfo) placeholder="{{__('validation.attributes.user_tag_serial_64')}}" @endIf
name="user_tag_serial_64" @if($isInfo) readonly @endif
value="{{$user_tag_serial_64}}">
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.qr_code')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" class="form-control form-control-lg"
@if(!$isInfo) placeholder="{{__('validation.attributes.qr_code')}}" @endIf name="qr_code"
value="{{$qr_code}}" @if($isInfo) readonly @endif>
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.tag_qr_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="tag_qr_flag" @if($isInfo) disabled @endif
value="0" {{$tag_qr_flag? 'checked':''}}>
<label class="form-check-label">タグ</label>
</div>
<div class="col-3 form-check">
<input type="radio" class="minimal"
name="tag_qr_flag" @if($isInfo) disabled @endif
value="1" {{!$tag_qr_flag? 'checked':''}}>
<label class="form-check-label">QRフラグ</label>
</div>
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.user_aid')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="number" class="form-control form-control-lg"
@if(!$isInfo) placeholder="{{__('validation.attributes.user_aid')}}" @endIf
name="user_aid"
value="{{$user_aid}}" @if($isInfo) readonly @endif>
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.user_park_number')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" class="form-control form-control-lg"
@if(!$isInfo) placeholder="{{__('validation.attributes.user_park_number')}}" @endIf
name="user_park_number" @if($isInfo) readonly @endif
value="{{$user_park_number}}">
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.user_place_qrid')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" class="form-control form-control-lg"
@if(!$isInfo) placeholder="{{__('validation.attributes.user_place_qrid')}}" @endIf
name="user_place_qrid" @if($isInfo) readonly @endif
value="{{$user_place_qrid}}">
</div>
</div>
<div class="form-group col-3">
<label class="@if(!$isInfo) required @endIf">{{__('validation.attributes.user_categoryid')}}</label>
</div>
<div class="form-group col-9">
{{--<select name="user_categoryid" class="form-control form-control-lg" @if($isInfo) disabled @endif>--}}
{{--<option value=""></option>--}}
{{--@foreach($listUserType as $key => $item)--}}
{{--<option value="{{$key}}" @if($key == $user_categoryid) selected @endif>{{$item}}</option>--}}
{{--@endforeach--}}
{{--</select>--}}
<input type="text" class="form-control form-control-lg"
@if(!$isInfo) placeholder="{{__('validation.attributes.user_categoryid')}}" @endIf
name="user_categoryid" @if($isInfo) readonly @endif
value="{{$user_categoryid}}">
</div>
<div class="form-group col-3">
<label class="@if(!$isInfo) required @endIf">{{__('validation.attributes.user_name')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" class="form-control form-control-lg" @if(!$isInfo) placeholder="{{__('自転車 太郎')}}" @endIf
name="user_name" @if($isInfo) readonly @endif
value="{{$user_name}}">
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.user_phonetic')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" class="form-control form-control-lg" @if(!$isInfo) placeholder="{{__('ジテンシャ タロウ')}}" @endIf
name="user_phonetic" @if($isInfo) readonly @endif
value="{{$user_phonetic}}">
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.user_gender')}}</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="user_gender" value="{{__('男性')}}"
@if($user_gender == __('男性')) checked @endIf
@if($isInfo) disabled @endif/>
<label for="user_gender_m" class="radio mr20">{{__('男性')}}</label>
</div>
<div class="col-2 form-check">
<input type="radio" class="minimal" name="user_gender" value="{{__('女性')}}"
@if($user_gender == __('女性')) checked @endIf
@if($isInfo) disabled @endif/>
<label for="user_gender_f" class="radio mr20">{{__('女性')}}</label>
</div>
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.user_birthdate')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="date" class="form-control form-control-lg" name="user_birthdate" @if($isInfo) readonly
@endif
value="{{$user_birthdate}}">
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.user_age')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" value="{{$user_age}}" name="user_age"
@if(!$isInfo) placeholder="00" @endif
class="form-control form-control-lg"
@if($isInfo) readonly @endif/>
</div>
</div>
<div class="form-group col-3">
<label class="@if(!$isInfo) required @endIf">{{__('validation.attributes.user_mobile')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" class="form-control form-control-lg" @if(!$isInfo) placeholder="080-0000-0000" @endif
name="user_mobile" @if($isInfo) readonly @endif
value="{{$user_mobile}}">
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.user_homephone')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" class="form-control form-control-lg" @if(!$isInfo) placeholder="000-0000-0000" @endif
name="user_homephone" @if($isInfo) readonly @endif
value="{{$user_homephone}}">
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.user_primemail')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="email" class="form-control form-control-lg" @if(!$isInfo) placeholder="{{__('name@example.com')}}" @endIf
name="user_primemail" @if($isInfo) readonly @endif
value="{{$user_primemail}}">
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.user_submail')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" class="form-control form-control-lg" @if(!$isInfo) placeholder="{{__('name@example.com')}}" @endIf
name="user_submail" @if($isInfo) readonly @endif
value="{{$user_submail}}">
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.user_regident_zip')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" class="form-control form-control-lg" @if(!$isInfo) placeholder="000-0000" @endif
name="user_regident_zip" @if($isInfo) readonly @endif
value="{{$user_regident_zip}}">
</div>
</div>
<div class="form-group col-3">
<label class="@if(!$isInfo) required @endIf">{{__('validation.attributes.user_regident_pre')}}</label>
</div>
<div class="form-group col-9">
<select class="form-control form-control-lg mb10" name="user_regident_pre" @if($isInfo) disabled @endif>
<option value="">{{__('都市を選択')}}</option>
@foreach($cities as $val)
<option value="{{$val}}" @if($user_relate_pre == $val)selected @endif>{{$val}}</option>
@endforeach
</select>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.user_regident_city')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" class="form-control form-control-lg" @if(!$isInfo) placeholder="{{__('市町村区')}}" @endIf
name="user_regident_city" @if($isInfo) readonly @endif
value="{{$user_regident_city}}">
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.user_regident_add')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" class="form-control form-control-lg mb10" @if(!$isInfo) placeholder="{{__('それ以降の住所')}}" @endIf
name="user_regident_add" @if($isInfo) readonly @endif
value="{{$user_regident_add}}">
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.user_relate_zip')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" class="form-control form-control-lg mb10" @if(!$isInfo) placeholder="000-0000" @endif
name="user_relate_zip" @if($isInfo) readonly @endif
value="{{$user_relate_zip}}">
</div>
</div>
<div class="form-group col-3">
<label class="@if(!$isInfo) required @endIf">{{__('validation.attributes.user_relate_pre')}}</label>
</div>
<div class="form-group col-9">
<select class="form-control form-control-lg mb10" name="user_relate_pre" @if($isInfo) disabled @endif>
<option value="">{{__('都市を選択')}}</option>
@foreach($cities as $val)
<option value="{{$val}}" @if($user_relate_pre == $val)selected @endif>{{$val}}</option>
@endforeach
</select>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.user_relate_city')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" class="form-control form-control-lg mb10" @if(!$isInfo) placeholder="{{__('市町村区')}}" @endIf
name="user_relate_city" @if($isInfo) readonly @endif
value="{{$user_relate_city}}">
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.user_relate_add')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" class="form-control form-control-lg mb10" @if(!$isInfo) placeholder="{{__('それ以降の住所')}}" @endIf
name="user_relate_add" @if($isInfo) readonly @endif
value="{{$user_relate_add}}">
</div>
</div>
<div class="form-group col-3">
<label>区民</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" class="form-control form-control-lg mb10" @if(!$isInfo) placeholder="" @endif
name="ward_residents" @if($isInfo) readonly @endif
value="{{$ward_residents}}">
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.user_workplace')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" class="form-control form-control-lg"
@if(!$isInfo) placeholder="{{__('validation.attributes.user_workplace')}}" @endIf
name="user_workplace" @if($isInfo) readonly @endif
value="{{$user_workplace}}">
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.user_school')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" class="form-control form-control-lg"
@if(!$isInfo) placeholder="{{__('validation.attributes.user_school')}}" @endIf
name="user_school" @if($isInfo) readonly @endif
value="{{$user_school}}">
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.user_graduate')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" class="form-control form-control-lg"
@if(!$isInfo) placeholder="{{__('validation.attributes.user_graduate')}}" @endIf
name="user_graduate" @if($isInfo) readonly @endif
value="{{$user_graduate}}">
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.user_reduction')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" class="form-control form-control-lg"
@if(!$isInfo) placeholder="{{__('validation.attributes.user_reduction')}}" @endIf
name="user_reduction" @if($isInfo) readonly @endif
value="{{$user_reduction}}">
</div>
</div>
<div class="form-group col-3">
<label class="@if(!$isInfo) required @endIf">{{__('validation.attributes.user_idcard')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<select class="form-control form-control-lg" name="user_idcard" @if($isInfo) disabled @endif>
@foreach(\App\User::USER_IDCAR as $item)
<option value="{{$item}}" @if($user_idcard == $item) selected @endif>{{__($item)}}</option>
@endforeach
</select>
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.user_idcard_chk_flag')}}</label>
</div>
<div class="form-group col-9">
<div class="row">
@foreach(\App\User::USER_ID_CARD_CHK_FLG as $key => $item)
<div class="offset-1 form-check">
<input class="form-check-input minimal" name="user_idcard_chk_flag"
@if($isInfo) disabled @endif type="radio" value="{{$key}}"
@if($user_idcard_chk_flag == $key)checked @endIf>
<label class="form-check-label">{{__($item)}}</label>
</div>
@endforeach
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.user_chk_day')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="date" name="user_chk_day"
value="@if(!empty($user_chk_day)){{date('Y-m-d',strtotime($user_chk_day))}}@endif"
@if($isInfo) readonly @endif class="form-control form-control-lg"/>
</div>
</div>
<div class="form-group col-3">
<label class="required">{{__('validation.attributes.user_chk_opeid')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<select class="form-control form-control-lg" name="user_chk_opeid" @if($isInfo) disabled @endif>
<option value="">{{__('validation.attributes.user_chk_opeid')}}</option>
@foreach($listOpe as $key => $item)
<option value="{{$key}}" @if($key == $user_chk_opeid) selected @endif>{{$item}}</option>
@endforeach
</select>
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.user_tag_issue')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" class="form-control form-control-lg"
@if(!$isInfo) placeholder="{{__('validation.attributes.user_tag_issue')}}" @endIf
name="user_tag_issue" @if($isInfo) readonly @endif
value="{{$user_tag_issue}}">
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.issue_permission')}}</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="issue_permission" @if($isInfo) disabled @endif
value="1" {{$issue_permission? 'checked':''}}>
<label class="form-check-label">{{__("はい")}}</label>
</div>
<div class="col-2 form-check">
<input type="radio" class="minimal"
name="issue_permission" @if($isInfo) disabled @endif
value="0" {{!$issue_permission? 'checked':''}}>
<label class="form-check-label">{{__("いいえ")}}</label>
</div>
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.user_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="user_quit_flag" @if($isInfo) disabled @endif
value="1" {{$user_quit_flag? 'checked':''}}>
<label class="form-check-label">{{__("はい")}}</label>
</div>
<div class="col-2 form-check">
<input type="radio" class="minimal"
name="user_quit_flag" @if($isInfo) disabled @endif
value="0" {{!$user_quit_flag? 'checked':''}}>
<label class="form-check-label">{{__("いいえ")}}</label>
</div>
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.user_quitday')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="date" name="user_quitday" @if($isInfo) readonly @endif value="{{$user_quitday}}"
class="form-control form-control-lg"/>
</div>
</div>
<div class="form-group col-3">
<label>{{__('validation.attributes.user_remarks')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="text" class="form-control form-control-lg"
@if(!$isInfo) placeholder="{{__('validation.attributes.user_remarks')}}" @endIf
name="user_remarks" @if($isInfo) readonly @endif
value="{{$user_remarks}}">
</div>
</div>
@if(!$isInfo)
<div class="form-group col-3">
<label>{{__('validation.attributes.photo_filename1')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="file" id="photo_filename1" name="photo_filename1">
{{--<p class="help-block">{{__('note')}}</p>--}}
</div>
</div>
@endif
@if($photo_filename1 != '')
<div class="form-group col-3">
@if($isInfo)<label>{{__('validation.attributes.photo_filename1')}}</label>@endif
</div>
<div class="form-group col-9">
<img src="{{\App\Utils::getImageUrl($photo_filename1)}}" class="image" width="100">
</div>
@endif
@if(!$isInfo)
<div class="form-group col-3">
<label>{{__('validation.attributes.photo_filename2')}}</label>
</div>
<div class="form-group col-9">
<div class="input-group">
<input type="file" id="photo_filename2" name="photo_filename2">
{{--<p class="help-block">{{__('note')}}</p>--}}
</div>
</div>
@endif
@if($photo_filename2 != '')
<div class="form-group col-3">
@if($isInfo)<label>{{__('validation.attributes.photo_filename2')}}</label>@endif
</div>
<div class="form-group col-9">
<img src="{{\App\Utils::getImageUrl($photo_filename2)}}" class="image">
</div>
@endif
</div>
@if($isInfo)
<a href="{{route('user_add')}}" class="btn btn-lg btn-success">{{__('登録')}}</a>
<a href="{{route('user_edit',['id'=>$user_seq])}}" class="btn btn-lg btn-danger">{{__('編集')}}</a>
@else
<button type="submit" class="btn btn-lg btn-danger"
>{{__('保存')}}</button>
@endIf
</div>

View File

@ -1,51 +0,0 @@
@extends('layouts.app')
@section('content')
<!-- Content Header (Page header) -->
<div class="content-header">
<div class="container-fluid">
<div class="row mb-2">
<div class="col-lg-6">
<h1 class="m-0 text-dark">[東京都|〇〇駐輪場] 利用者マスタ</h1>
</div><!-- /.col -->
<div class="col-lg-6">
<ol class="breadcrumb float-sm-right text-sm">
<li class="breadcrumb-item"><a href="./index2.html">XX様info(ホーム)</a></li>
<li class="breadcrumb-item"><a href="./index3.html">[東京都|〇〇駐輪場]</a></li>
<li class="breadcrumb-item">マスタ管理</li>
<li class="breadcrumb-item active">利用者マスタ</li>
</ol>
</div><!-- /.col -->
</div><!-- /.row -->
</div><!-- /.container-fluid -->
</div>
<!-- /.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('user_edit',['seq'=>$user_seq]) }}" enctype="multipart/form-data">
<!-- TOKEN FORM -->
<input type="hidden" name="_token" value="{{ csrf_token() }}" >
<!-- / .TOKEN FORM -->
@include('admin.users._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 -->
@endsection

View File

@ -1,52 +0,0 @@
@extends('layouts.app')
@section('content')
<!-- Content Header (Page header) -->
<div class="content-header">
<div class="container-fluid">
<div class="row mb-2">
<div class="col-lg-6">
<h1 class="m-0 text-dark">[東京都|〇〇駐輪場] 利用者マスタ</h1>
</div><!-- /.col -->
<div class="col-lg-6">
<ol class="breadcrumb float-sm-right text-sm">
<li class="breadcrumb-item"><a href="./index2.html">XX様info(ホーム)</a></li>
<li class="breadcrumb-item"><a href="./index3.html">[東京都|〇〇駐輪場]</a></li>
<li class="breadcrumb-item">マスタ管理</li>
<li class="breadcrumb-item active">利用者マスタ</li>
</ol>
</div><!-- /.col -->
</div><!-- /.row -->
</div><!-- /.container-fluid -->
</div>
<!-- /.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('user_edit',['seq'=>$user_seq]) }}" enctype="multipart/form-data">
<!-- TOKEN FORM -->
<input type="hidden" name="_token" value="{{ csrf_token() }}" >
<!-- / .TOKEN FORM -->
@include('admin.users._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 -->
@endsection

View File

@ -0,0 +1,55 @@
@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="{{ route('usertypes') }}">利用者分類マスタ</a></li>
<li class="breadcrumb-item active">削除確認</li>
</ol>
</div>
</div>
</div>
</div>
<section class="content">
<div class="container-fluid">
<div class="alert alert-danger">
<strong>本当にこの利用者分類を削除しますか?</strong>
</div>
<div class="card">
<div class="card-body">
<form method="POST" action="{{ route('usertype_delete', ['id' => $user_categoryid]) }}">
@csrf
<div class="mb-3">
<label class="form-label">{{__('利用者分類ID')}}</label>
<div>{{ $user_categoryid }}</div>
</div>
<div class="mb-3">
<label class="form-label">{{__('分類名')}}</label>
<div>{{ $print_name ?? '' }}</div>
</div>
<div class="mb-3">
<label class="form-label">{{__('適用料率')}}</label>
<div>{{ $usertype_money ?? '' }}</div>
</div>
<div class="mb-3">
<label class="form-label">{{__('備考')}}</label>
<div>{{ $usertype_remarks ?? '' }}</div>
</div>
<button type="submit" class="btn btn-danger btn-sm px-4 mr-2"
onclick="return confirm('削除してよろしいですか?');">削除</button>
<a href="{{ route('usertypes') }}" class="btn btn-secondary btn-sm px-4">キャンセル</a>
</form>
</div>
</div>
</div>
</section>
@endsection

View File

@ -0,0 +1,57 @@
@extends('layouts.login')
@section('content')
<div class="login-box">
<div class="login-logo">
<div style="background:#ffa800;color:#222;font-size:1.5rem;font-weight:bold;padding:8px 0 4px 0;">
So-Manager 管理パネル
</div>
</div>
<div class="card">
<div class="card-body login-card-body">
<p class="login-box-msg" style="font-size:1rem;">
パスワード再発行に関するメールを送信します。登録済みユーザIDおよびメールアドレスを入力してください。
</p>
{{-- ★ここからエラー表示を追加★ --}}
@if ($errors->any())
<div class="alert alert-danger">
<ul class="mb-0">
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
{{-- ★ここまでエラー表示を追加★ --}}
@if (session('status'))
<div class="alert alert-success">{{ session('status') }}</div>
@endif
<form method="POST" action="{{ route('forgot_password.send') }}">
@csrf
<div class="input-group mb-3">
<input type="email" name="email" class="form-control" placeholder="メールアドレス" required autofocus>
<div class="input-group-append">
<span class="fa fa-envelope input-group-text"></span>
</div>
</div>
<div class="input-group mb-3">
<input type="email" name="email_confirmation" class="form-control" placeholder="メールアドレス(確認)" required>
<div class="input-group-append">
<span class="fa fa-envelope input-group-text"></span>
</div>
</div>
<div class="row mt40">
<div class="col-12">
<button type="submit" class="btn btn-lg btn-primary btn-block btn-flat">
メール送信
</button>
</div>
</div>
</form>
<p class="mb-1 mt50">
<a href="{{ route('login') }}">{{ __('ログイン画面に戻る') }}</a>
</p>
</div>
</div>
</div>
@endsection

View File

@ -47,15 +47,14 @@
<!-- /.col -->
</div>
</form>
{{--
Laravel 12移行時に一時的にコメントアウト:パスワードリセット機能は後で実装
<p class="mb-1 mt50">
<a href="{{route('forgot_password')}}">{{ __('パスワードを忘れた方はこちら') }}</a>
</p>
--}}
{{-- 「オペレータマスタ」で管理かつ設計書ない為、一時的に新規オペレーター登録をコメントアウト
<p class="mb-0">
<a href="./register.html" class="text-center">{{ __('新規オペレーター登録') }}</a>
</p>
--}}
</div>
<!-- /.login-card-body -->
</div>

View File

@ -0,0 +1,46 @@
@extends('layouts.login')
@section('content')
<div class="login-box">
<div class="login-logo">
<div style="background:#ffa800;color:#222;font-size:1.5rem;font-weight:bold;padding:8px 0 4px 0;">
So-Manager 管理パネル
</div>
</div>
<div class="card">
<div class="card-body login-card-body">
<p class="login-box-msg">新しいパスワードを入力してください。</p>
@if ($errors->any())
<div class="alert alert-danger">
<ul class="mb-0">
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<form method="POST" action="{{ route('password.update') }}">
@csrf
<input type="hidden" name="token" value="{{ $token }}">
<input type="hidden" name="email" value="{{ $email }}">
<div class="input-group mb-3">
<input type="password" name="password" class="form-control" placeholder="新しいパスワード" required>
</div>
<div class="input-group mb-3">
<input type="password" name="password_confirmation" class="form-control" placeholder="新しいパスワード(確認)" required>
</div>
<div class="row mt40">
<div class="col-12">
<button type="submit" class="btn btn-lg btn-primary btn-block btn-flat">
パスワード再設定
</button>
</div>
</div>
</form>
<p class="mb-1 mt50">
<a href="{{ route('login') }}">ログイン画面に戻る</a>
</p>
</div>
</div>
</div>
@endsection

View File

@ -160,118 +160,112 @@
</a>
</div>
@php
// タグ・シール管理
$tagRoutes = [
'tags', // 例: タグ・シール管理のroute名
];
// 集計業務
$aggregateRoutes = [
'aggregate', // 例: 集計業務のroute名
];
// 決済マスタ
$settlementRoutes = [
'settlement1',
'settlement2', // 決済マスタの各route名
];
// システムマスタ
$systemRoutes = [
'system1',
'system2', // システムマスタの各route名
];
// チェーンロックマスタ
$chainlockRoutes = [
'chainlock1',
'chainlock2', // チェーンロックマスタの各route名
];
@endphp
<!-- Sidebar Menu -->
<nav class="mt-2">
<ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu"
data-accordion="false">
<!-- Add icons to the links using the .nav-icon class
with font-awesome or any other icon font library -->
<li class="nav-item">
<a href="/home" class="nav-link">
<!-- OU START -->
<!-- ホーム(親) -->
<li class="nav-item has-treeview menu-open">
<a href="/home" class="nav-link active">
<i class="nav-icon fa fa-home"></i>
<p>
infoホーム
<span class="right badge badge-danger">New</span>
ホーム
<i class="right fa fa-angle-down"></i>
</p>
</a>
<ul class="nav nav-treeview" style="display:block;">
<li class="nav-item">
<a href="#" class="nav-link">
<i class="fa fa-circle-o nav-icon"></i>
<p>ハードウェア異常表示</p>
</a>
</li>
<li class="nav-item">
<a href="{{ route('information') }}"
class="nav-link {{ request()->routeIs('information') ? 'active' : '' }}">
<i class="nav-icon fa fa-info-circle"></i>
<p>常時表示インフォメーション</p>
</a>
</li>
</ul>
</li>
<!-- OU START -->
@php
// 一般ウェブ管理下的路由名列表(按你项目实际替换)
// <!-- タグ・シール管理 -->
$webRoutes = [
'news', // 最新ニュース登録
// 需要高亮/展开的其它路由继续加到这里
'tagissue', // タグ発行キュー処理、履歴表示
'seals', // タグシール管理
];
@endphp
<li
class="nav-item has-treeview @if(in_array(app('router')->currentRouteName(), $webRoutes)) menu-open @endif">
<a href="#"
class="nav-link @if(in_array(app('router')->currentRouteName(), $webRoutes)) active @endif">
<i class="nav-icon fa fa-dashboard"></i>
<p>
一般ウェブ管理
<i class="right fa fa-angle-down"></i>
</p>
<i class="nav-icon fa fa-tags"></i>
<p>タグ・シール管理</p>
</a>
<ul class="nav nav-treeview">
<li class="nav-item">
<a href="{{ route('news') }}"
class="nav-link @if(app('router')->currentRouteName() === 'news`') active @endif">
<a href="{{ route('tagissue') }}"
class="nav-link @if(app('router')->currentRouteName() === 'tagissue') active @endif">
<i class="fa fa-circle-o nav-icon"></i>
<p>最新ニュース登録</p>
<p>タグ発行キュー処理、履歴表示</p>
</a>
</li>
</ul>
<ul class="nav nav-treeview">
<li class="nav-item">
<a href="{{ route('seals') }}"
class="nav-link @if(app('router')->currentRouteName() === 'seals') active @endif">
<i class="fa fa-circle-o nav-icon"></i>
<p>シール発行履歴</p>
</a>
</li>
</ul>
</li>
@php
// 利用者マスタ分组:当当前路由名在这里时,展开&高亮
$userGroupRoutes = [
'users', // 利用者マスタ
'regularcontracts', // 定期契約マスタ
'reserves', // 定期予約マスタ
'usertypes', // 定期予約マスタ
];
@endphp
<li
class="nav-item has-treeview @if(in_array(app('router')->currentRouteName(), $userGroupRoutes)) menu-open @endif">
<a href="#"
class="nav-link @if(in_array(app('router')->currentRouteName(), $userGroupRoutes)) active @endif">
<i class="nav-icon fa fa-th"></i>
<p>
利用者マスタ
<i class="right fa fa-angle-down"></i>
</p>
</a>
<ul class="nav nav-treeview" @if(in_array(app('router')->currentRouteName(), $userGroupRoutes)) style="display: block;" @else style="display: none;" @endif>
<li class="nav-item">
<a href="{{ route('users') }}"
class="nav-link @if(app('router')->is('users')) active @endif">
<i class="fa fa-circle-o nav-icon"></i>
<p>利用者マスタ</p>
</a>
</li>
<li class="nav-item">
<a href="{{ route('regularcontracts') }}"
class="nav-link @if(app('router')->is('regularcontracts')) active @endif">
<i class="fa fa-circle-o nav-icon"></i>
<p>定期契約マスタ</p>
</a>
</li>
<li class="nav-item">
<a href="{{ route('reserves') }}"
class="nav-link @if(app('router')->is('reserves')) active @endif">
<i class="fa fa-circle-o nav-icon"></i>
<p>定期予約マスタ</p>
</a>
</li>
<li class="nav-item">
<a href="{{ route('usertypes') }}"
class="nav-link @if(app('router')->is('usertypes')) active @endif">
<i class="fa fa-circle-o nav-icon"></i>
<p>利用者分類マスタ</p>
</a>
</li>
</ul>
</li>
@php
// 駐輪管理下的路由名列表
// 定期駐輪管理:ルート名がここに含まれている場合、展開&ハイライト
$parkingRoutes = [
'periodical', // 定期利用・契約状況
'contractor', // 契約者一覧
'contractor_List', // 未更新者一覧
'update_candidate', // 更新予定者一覧
'reservation', // 予約者一覧
// 以后这里还可以继续加其它駐輪管理的路由
'personal', // 本人確認手動処理
];
@endphp
@ -336,118 +330,117 @@
</li>
</ul>
</li>
<!-- OU END -->
<ul class="nav nav-treeview">
<li class="nav-item">
<a href="#" class="nav-link">
<i class="fa fa-circle-o nav-icon"></i>
<p>下層メニュー1</p>
</a>
</li>
<li class="nav-item">
<a href="./example.html" class="nav-link">
<i class="fa fa-circle-o nav-icon"></i>
<p>下層メニュー2</p>
</a>
</li>
</ul>
</li>
<li class="nav-item has-treeview">
<a href="#" class="nav-link">
<i class="nav-icon fa fa-tags"></i>
<p>
タグ、ステッカー管理
<i class="right fa fa-angle-down"></i>
</p>
</a>
<ul class="nav nav-treeview">
<li class="nav-item">
<a href="./example.html" class="nav-link">
<a href="{{ route('personal') }}"
class="nav-link @if(app('router')->currentRouteName() === 'personal') active @endif">
<i class="fa fa-circle-o nav-icon"></i>
<p>下層メニュー1</p>
</a>
</li>
<li class="nav-item">
<a href="./example.html" class="nav-link">
<i class="fa fa-circle-o nav-icon"></i>
<p>下層メニュー2</p>
<p>本人確認手動処理</p>
</a>
</li>
</ul>
</li>
<li class="nav-item has-treeview">
<a href="#" class="nav-link">
<i class="nav-icon fa fa-repeat"></i>
<p>
駐輪管理
<i class="nav-icon fa fa-bicycle"></i>
</p>
</a>
<ul class="nav nav-treeview">
<li class="nav-item">
<a href="./example.html" class="nav-link">
<i class="fa fa-circle-o nav-icon"></i>
<p>下層メニュー1</p>
</a>
</li>
<li class="nav-item">
<a href="./example.html" class="nav-link">
<i class="fa fa-circle-o nav-icon"></i>
<p>下層メニュー2</p>
</a>
</li>
</ul>
</li>
<li class="nav-item has-treeview">
<!-- 集計業務 -->
<li class="nav-item">
<a href="#" class="nav-link">
<i class="nav-icon fa fa-calculator"></i>
<p>
集計業務
<i class="right fa fa-angle-down"></i>
</p>
<p>集計業務</p>
</a>
<ul class="nav nav-treeview">
<li class="nav-item">
<a href="./example.html" class="nav-link">
<i class="fa fa-circle-o nav-icon"></i>
<p>下層メニュー1</p>
</a>
</li>
<li class="nav-item">
<a href="./example.html" class="nav-link">
<i class="fa fa-circle-o nav-icon"></i>
<p>下層メニュー2</p>
</a>
</li>
</ul>
</li>
<li class="nav-item has-treeview">
<!-- チェーンロック -->
<li class="nav-item">
<a href="#" class="nav-link">
<i class="nav-icon fa fa-chain-broken"></i>
<p>チェーンロック</p>
</a>
</li>
@php
// 一般ウェブ管理:ルート名がここに含まれている場合、展開&ハイライト
$webRoutes = [
'news', // 最新ニュース登録
];
@endphp
<li
class="nav-item has-treeview @if(in_array(app('router')->currentRouteName(), $webRoutes)) menu-open @endif">
<a href="#"
class="nav-link @if(in_array(app('router')->currentRouteName(), $webRoutes)) active @endif">
<i class="nav-icon fa fa-dashboard"></i>
<p>
チェーンロック
一般ウェブ管理
<i class="right fa fa-angle-down"></i>
</p>
</a>
<ul class="nav nav-treeview">
<li class="nav-item">
<a href="./example.html" class="nav-link">
<a href="{{ route('news') }}"
class="nav-link @if(app('router')->currentRouteName() === 'news`') active @endif">
<i class="fa fa-circle-o nav-icon"></i>
<p>下層メニュー1</p>
</a>
</li>
<li class="nav-item">
<a href="./example.html" class="nav-link">
<i class="fa fa-circle-o nav-icon"></i>
<p>下層メニュー2</p>
<p>最新ニュース登録</p>
</a>
</li>
</ul>
</li>
@php
// 利用者マスタ:ルート名がここに含まれている場合、展開&ハイライト
$userGroupRoutes = [
'users', // 利用者マスタ
'regularcontracts', // 定期契約マスタ
'reserves', // 定期予約マスタ
'usertypes', // 定期予約マスタ
];
@endphp
<li
class="nav-item has-treeview @if(in_array(app('router')->currentRouteName(), $userGroupRoutes)) menu-open @endif">
<a href="#"
class="nav-link @if(in_array(app('router')->currentRouteName(), $userGroupRoutes)) active @endif">
<i class="nav-icon fa fa-dashboard"></i>
<p>
利用者マスタ
<i class="right fa fa-angle-down"></i>
</p>
</a>
<ul class="nav nav-treeview" @if(in_array(app('router')->currentRouteName(), $userGroupRoutes)) style="display: block;" @else style="display: none;" @endif>
<li class="nav-item">
<a href="{{ route('users') }}"
class="nav-link @if(app('router')->is('users')) active @endif">
<i class="fa fa-circle-o nav-icon"></i>
<p>利用者マスタ</p>
</a>
</li>
<li class="nav-item">
<a href="{{ route('regularcontracts') }}"
class="nav-link @if(app('router')->is('regularcontracts')) active @endif">
<i class="fa fa-circle-o nav-icon"></i>
<p>定期契約マスタ</p>
</a>
</li>
<li class="nav-item">
<a href="{{ route('reserves') }}"
class="nav-link @if(app('router')->is('reserves')) active @endif">
<i class="fa fa-circle-o nav-icon"></i>
<p>定期予約マスタ</p>
</a>
</li>
<li class="nav-item">
<a href="{{ route('usertypes') }}"
class="nav-link @if(app('router')->is('usertypes')) active @endif">
<i class="fa fa-circle-o nav-icon"></i>
<p>利用者分類マスタ</p>
</a>
</li>
</ul>
</li>
<!-- 駐輪場マスタ -->
<?php $route = [
'opes',
'ptypes',
@ -457,7 +450,6 @@
'print_areas',
'operator_ques',
'regular_types',
'seals',
'jurisdiction_parkings',
'city',
'pricelist',
@ -473,7 +465,7 @@
class="nav-link @if(in_array(app('router')->currentRouteName(), $route)) active @endif">
<i class="nav-icon fa fa-th"></i>
<p>
{{__("マスタ管理")}}
{{__("駐輪場マスタ")}}
<i class="right fa fa-angle-down"></i>
</p>
</a>
@ -515,7 +507,6 @@
</a>
</li>
<li class="nav-item">
<a href="{{route('ptypes')}}"
class="nav-link @if(app('router')->is('ptypes')) active @endif">
@ -524,160 +515,100 @@
</a>
</li>
<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>
</ul>
</li>
<!-- 決済マスタ -->
<li class="nav-item has-treeview">
<a href="#" class="nav-link">
<i class="nav-icon fa fa-credit-card"></i>
<p>
決済マスタ
<i class="right fa fa-angle-down"></i>
</p>
</a>
<ul class="nav nav-treeview">
<li class="nav-item">
<a href="./example.html" class="nav-link">
<i class="fa fa-circle-o nav-icon"></i>
<p>下層メニュー1</p>
</a>
</li>
<li class="nav-item">
<a href="./example.html" class="nav-link">
<i class="fa fa-circle-o nav-icon"></i>
<p>下層メニュー2</p>
</a>
</li>
</ul>
</li>
<!-- システムマスタ -->
<li class="nav-item has-treeview">
<a href="#" class="nav-link">
<i class="nav-icon fa fa-cogs"></i>
<p>
システムマスタ
<i class="right fa fa-angle-down"></i>
</p>
</a>
<ul class="nav nav-treeview">
<li class="nav-item">
<a href="./example.html" class="nav-link">
<i class="fa fa-circle-o nav-icon"></i>
<p>下層メニュー1</p>
</a>
</li>
<li class="nav-item">
<a href="./example.html" class="nav-link">
<i class="fa fa-circle-o nav-icon"></i>
<p>下層メニュー2</p>
</a>
</li>
</ul>
</li>
<!-- チェーンロックマスタ -->
<li class="nav-item has-treeview">
<a href="#" class="nav-link">
<i class="nav-icon fa fa-key"></i>
<p>
チェーンロックマスタ
<i class="right fa fa-angle-down"></i>
</p>
</a>
<ul class="nav nav-treeview">
<li class="nav-item">
<a href="./example.html" class="nav-link">
<i class="fa fa-circle-o nav-icon"></i>
<p>下層メニュー1</p>
</a>
</li>
<li class="nav-item">
<a href="./example.html" class="nav-link">
<i class="fa fa-circle-o nav-icon"></i>
<p>下層メニュー2</p>
</a>
</li>
</ul>
</li>
{{--
Laravel 12移行時に一時的にコメントアウトrouteが未定義のため
<ul class="nav nav-treeview" style="display: block;">
<li class="nav-item">
<a href="{{route('users')}}"
class="nav-link @if(app('router')->is('users')) active @endif">
<i class="fa fa-circle-o nav-icon"></i>
<p>{{__('利用者マスタ')}}</p>
</a>
</li>
<li class="nav-item">
<a href="{{route('regular_contracts')}}"
class="nav-link @if(app('router')->is('regular_contracts')) active @endif">
<i class="fa fa-circle-o nav-icon"></i>
<p>{{__('定期契約マスタ')}}</p>
</a>
</li>
<!-- OU END -->
<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('parks')}}"
class="nav-link @if(app('router')->is('parks')) 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>
<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="./example.html" class="nav-link">--}}
{{--<i class="fa fa-circle-o nav-icon"></i>--}}
{{--<p>定期予約マスタ</p>--}}
{{--</a>--}}
{{--</li>--}}
{{--<li class="nav-item">--}}
{{--<a href="{{route('ptypes')}}"
class="nav-link @if(app('router')->is('ptypes')) active @endif">--}}
{{--<i class="fa fa-circle-o nav-icon"></i>--}}
{{--<p>{{__('駐輪分類マスタ')}}</p>--}}
{{--</a>--}}
{{--</li>--}}
{{--<li class="nav-item">--}}
{{--<a href="./example.html" class="nav-link">--}}
{{--<i class="fa fa-circle-o nav-icon"></i>--}}
{{--<p>駐輪車室マスタ</p>--}}
{{--</a>--}}
{{--</li>--}}
{{--<li class="nav-item">--}}
{{--<a href="{{route('usertypes')}}"
class="nav-link @if(app('router')->is('usertypes')) active @endif">--}}
{{--<i class="fa fa-circle-o nav-icon"></i>--}}
{{--<p>{{__('利用者分類マスタ')}}</p>--}}
{{--</a>--}}
{{--</li>--}}
{{--<li class="nav-item">--}}
{{--<a href="./example.html" class="nav-link">--}}
{{--<i class="fa fa-circle-o nav-icon"></i>--}}
{{--<p>近傍駅マスタ</p>--}}
{{--</a>--}}
{{--</li>--}}
{{--<li class="nav-item">--}}
{{--<a href="./example.html" class="nav-link">--}}
{{--<i class="fa fa-circle-o nav-icon"></i>--}}
{{--<p>区マスタ</p>--}}
{{--</a>--}}
{{--</li>--}}
{{--<li class="nav-item">--}}
{{--<a href="./example.html" class="nav-link">--}}
{{--<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>--}}
{{--<li class="nav-item">--}}
{{--<a href="./example.html" class="nav-link">--}}
{{--<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('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('seals')}}"
class="nav-link @if(app('router')->is('seals')) 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="./example.html" class="nav-link">--}}
{{--<i class="fa fa-circle-o nav-icon"></i>--}}
{{--<p>参照マスタ予約切り替え</p>--}}
{{--</a>--}}
{{--</li>--}}
</ul>
</li>
</ul>
</li>
</ul>
</nav>
@ -693,7 +624,7 @@
<!-- /.content-wrapper -->
@stack('scripts')
<!-- Main Footer -->
<footer class="main-footer">
<strong>Copyright &copy; 2018 <a href="./index2.html">So-Manager for back office by so-rin

View File

@ -17,8 +17,13 @@ use App\Http\Controllers\Admin\ContractorController;
use App\Http\Controllers\Admin\ContractorListController;
use App\Http\Controllers\Admin\UpdateCandidateController;
use App\Http\Controllers\Admin\ReservationController;
use App\Http\Controllers\Admin\PersonalController;
use App\Http\Controllers\Auth\ForgotPasswordController;
use App\Http\Controllers\Auth\ResetPasswordController;
use App\Http\Controllers\Admin\OpesController;
use App\Http\Controllers\Admin\InformationController;
use App\Http\Controllers\Admin\TagissueController;
use App\Http\Controllers\Admin\SealsController;
/**
* Laravel 12変更点:ルート定義の書き方が変更
@ -38,16 +43,18 @@ Route::middleware('guest')->group(function () {
Route::get('login', [App\Http\Controllers\Auth\LoginController::class, 'showLoginForm'])->name('login');
// ログイン処理
Route::post('login', [App\Http\Controllers\Auth\LoginController::class, 'login']);
Route::get('/forgot-password', [ForgotPasswordController::class, 'showLinkRequestForm'])->name('forgot_password');
Route::post('/forgot-password', [ForgotPasswordController::class, 'sendResetLinkEmail'])->name('forgot_password.send');
// パスワードリセット
Route::get('/reset-password', [ResetPasswordController::class, 'showResetForm'])->name('password.reset');
Route::post('/reset-password', [ResetPasswordController::class, 'reset'])->name('password.update');
});
// ログアウトルート(認証済みユーザー専用)
Route::get('logout', [App\Http\Controllers\Auth\LoginController::class, 'logout'])->middleware('auth');
// パスワードリセット機能(一時的にリダイレクト - 後で実装予定)
// Laravel 12移行時の一時対応forgot_passwordルートエラー回避
Route::get('forgotPassword', function () {
return redirect()->route('login')->with('info', 'パスワードリセット機能は現在準備中です。');
})->name('forgot_password');
// 保護されたルート(認証済みユーザー専用)
// Laravel 12変更点middleware()をコントローラーではなくルートで指定
@ -97,10 +104,6 @@ Route::middleware('auth')->group(function () {
return view('admin.placeholder', ['title' => '駐輪場管理', 'feature' => 'parks']);
})->name('parks');
Route::match(['get', 'post'], '/opes', function () {
return view('admin.placeholder', ['title' => 'オペレータ管理', 'feature' => 'opes']);
})->name('opes');
// sou start
// [東京都|〇〇駐輪場] 定期契約マスタ
@ -224,5 +227,28 @@ Route::middleware('auth')->group(function () {
// 予約者一覧
Route::match(['get', 'post'], '/reservation', [ReservationController::class, 'list'])->name('reservation');
// 本人確認手動処理
Route::match(['get', 'post'], '/personal', [PersonalController::class, 'list'])->name('personal');
Route::match(['get', 'post'], '/personal/edit/{id}', [PersonalController::class, 'edit'])->name('personal_edit')->where(['id' => '[0-9]+']);
// オペレータマスタ
Route::match(['get', 'post'], '/opes', [OpesController::class, 'list'])->name('opes');
Route::match(['get', 'post'], '/opes/add', [OpesController::class, 'add'])->name('ope_add');
Route::match(['get', 'post'], '/opes/edit/{id}', [OpesController::class, 'edit'])->name('ope_edit');
Route::match(['get', 'post'], '/opes/info/{id}', function ($id) {return view('admin.opes.info', ['ope_id' => $id]);})->name('ope_info');
Route::post('/opes/import', [OpesController::class, 'import'])->name('opes_import');
Route::post('/opes/export', [OpesController::class, 'export'])->name('opes_export');
Route::post('/opes/delete', [OpesController::class, 'delete'])->name('opes_delete');
// 常時表示インフォメーション
Route::get('/information', [InformationController::class, 'list'])->name('information');
// タグ発行キュー処理、履歴表示
Route::get('/tagissue', [TagissueController::class, 'list'])->name('tagissue');
// シール発行履歴
Route::get('/seals', [SealsController::class, 'list'])->name('seals');
// ou end
});