krgm.so-manager-dev.com/resources/views/home.blade.php
OU.ZAIKOU 13d2ecfceb
All checks were successful
Deploy main / deploy (push) Successful in 25s
【ログイン】二重認証実装
2026-01-21 22:37:38 +09:00

160 lines
9.0 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@extends('layouts.app')
@section('title', 'インフォメーション')
@section('content')
@php
use App\Models\OperatorLog;
use App\Models\Ope;
$logs = OperatorLog::orderByDesc('created_at')->limit(20)->get();
$operatorNames = [];
$queLabels = [];
$queIcons = [];
$queClassNums = [];
foreach ($logs as $log) {
// オペレータ名取得
$operatorNames[$log->operator_id] =
$operatorNames[$log->operator_id] ??
(\App\Models\Ope::find($log->operator_id)->ope_name ?? $log->operator_id);
// operator_queからque_class, que_status取得
$que = null;
if (!empty($log->user_id) && !empty($log->contract_id)) {
$que = \App\Models\OperatorQue::where('user_id', $log->user_id)
->where('contract_id', $log->contract_id)
->first();
}
// 条件を満たさない場合はスキップ
if (!$que || !in_array($que->que_status, [3, 4])) {
continue;
}
if ($que->que_class < 100) {
$queLabels[$log->operator_log_id] = '<span class="badge badge-primary">タスク</span>';
$queIcons[$log->operator_log_id] = '';
} elseif ($que->que_class > 99) {
$queLabels[$log->operator_log_id] = '<span class="badge badge-danger">ハード異常</span>';
$queIcons[$log->operator_log_id] = '';
} else {
continue;
}
$queClassNums[$log->operator_log_id] =
\App\Models\OperatorQue::QueClass[$que->que_class] ?? $que->que_class;
}
@endphp
<div class="container-fluid" style="background:#f4f6f9;min-height:calc(100vh - 60px);">
<div class="row">
<!-- メイン -->
<div class="col-md-12">
<div class="row mt-4">
<div class="col-lg-7">
<div class="card mb-4">
<div class="card-header bg-white font-weight-bold">インフォメーション</div>
<div class="card-body">
@php
// ▼ 各メニューの件数を取得que_status は運用に合わせて調整)
// 例:未処理/処理中を 1,2 として集計
$statusTargets = [1, 2];
// ▼ QueClass は実際の定義に合わせて値を変更してください
// ここでは例として que_class を使って種別を分ける想定
$cntPersonalCheck = \App\Models\OperatorQue::whereIn('que_status', $statusTargets)
->whereIn('que_class', [
/* 本人確認の que_class を入れる */
])
->count();
$cntCancelRequest = \App\Models\OperatorQue::whereIn('que_status', $statusTargets)
->whereIn('que_class', [
/* 解約リクエストの que_class を入れる */
])
->count();
$cntUserInfoChange = \App\Models\OperatorQue::whereIn('que_status', $statusTargets)
->whereIn('que_class', [
/* ユーザー情報変更の que_class を入れる */
])
->count();
// ▼ 0埋め000件 表示用)
$fmt = fn($n) => str_pad((string) $n, 3, '0', STR_PAD_LEFT) . '件';
@endphp
{{-- 本人確認処理 --}}
<div class="card mb-3" style="box-shadow:none;border:1px solid #e0e0e0;">
<div class="card-body py-3 px-4 d-flex align-items-center ">
<a href="{{ route('personal') }}"
style="font-weight:bold;color:#007bff;font-size:1.05em;">
本人確認処理
</a>
<span class="badge badge-primary ml-auto"
style="font-size:0.95em;">{{ $fmt($cntPersonalCheck) }}</span>
</div>
</div>
{{-- 解約リクエスト --}}
<div class="card mb-3" style="box-shadow:none;border:1px solid #e0e0e0;">
<div class="card-body py-3 px-4 d-flex align-items-center ">
<a href="{{ route('regularcontracts') }}"
style="font-weight:bold;color:#007bff;font-size:1.05em;">
解約リクエスト
</a>
<span class="badge badge-primary ml-auto"
style="font-size:0.95em;">{{ $fmt($cntCancelRequest) }}</span>
</div>
</div>
{{-- ユーザー情報変更 --}}
<div class="card mb-0" style="box-shadow:none;border:1px solid #e0e0e0;">
<div class="card-body py-3 px-4 d-flex align-items-center ">
<a href="{{ route('users') }}"
style="font-weight:bold;color:#007bff;font-size:1.05em;">
ユーザー情報変更
</a>
<span class="badge badge-primary ml-auto"
style="font-size:0.95em;">{{ $fmt($cntUserInfoChange) }}</span>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-5">
<div class="card mb-4">
<div class="card-header bg-white font-weight-bold">操作履歴</div>
<div class="card-body p-0">
<table class="table table-sm mb-0">
<thead>
<tr>
<th scope="col">操作内容</th>
<th scope="col"></th>
<th scope="col"></th>
<th scope="col">オペレーター</th>
<th scope="col">日時</th>
</tr>
</thead>
<tbody>
@php $hasData = false; @endphp
@foreach ($logs as $log)
@if (isset($queLabels[$log->operator_log_id]))
@php $hasData = true; @endphp
<tr>
<td>{!! $queIcons[$log->operator_log_id] !!}{!! $queLabels[$log->operator_log_id] !!}</td>
<td></td>
<td>{{ $queClassNums[$log->operator_log_id] }}</td>
<td>{{ $operatorNames[$log->operator_id] ?? $log->operator_id }}</td>
<td>{{ $log->created_at }}</td>
</tr>
@endif
@endforeach
@if (!$hasData)
<tr>
<td colspan="5" class="text-center">データがありません</td>
</tr>
@endif
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection