Working on MMC

This commit is contained in:
Александр Бабкин
2022-07-14 21:23:54 +03:00
parent ba97a6afc1
commit 36698241ed
4 changed files with 137 additions and 144 deletions

View File

@@ -23,9 +23,9 @@ class MMCController extends Controller
$project_id = $request->session()->get('project_id'); $project_id = $request->session()->get('project_id');
$project = Project::find($project_id); $project = Project::find($project_id);
$top_auks = $project->auks()->where('parent_id', 0)->get()->sortBy('auk_name'); $top_auks = $project->auks()->where('parent_id', 0)->get()->sortBy('auk_name');
if (count($top_auks)) { // if (count($top_auks)) {
$mmc = $top_auks[0]->mmcs; // $mmc = $top_auks[0]->mmcs;
} // }
return view('mmc.list', ['project' => $project, 'top_auks' => $top_auks]); return view('mmc.list', ['project' => $project, 'top_auks' => $top_auks]);
} }

View File

@@ -707,9 +707,15 @@ select {
.-ml-px { .-ml-px {
margin-left: -1px; margin-left: -1px;
} }
.mt-1 {
margin-top: 0.25rem;
}
.mt-4 { .mt-4 {
margin-top: 1rem; margin-top: 1rem;
} }
.ml-4 {
margin-left: 1rem;
}
.ml-1 { .ml-1 {
margin-left: 0.25rem; margin-left: 0.25rem;
} }
@@ -722,9 +728,6 @@ select {
.ml-2 { .ml-2 {
margin-left: 0.5rem; margin-left: 0.5rem;
} }
.ml-4 {
margin-left: 1rem;
}
.mt-8 { .mt-8 {
margin-top: 2rem; margin-top: 2rem;
} }
@@ -734,9 +737,6 @@ select {
.-mt-px { .-mt-px {
margin-top: -1px; margin-top: -1px;
} }
.mt-1 {
margin-top: 0.25rem;
}
.-mr-2 { .-mr-2 {
margin-right: -0.5rem; margin-right: -0.5rem;
} }
@@ -797,8 +797,8 @@ select {
.w-5 { .w-5 {
width: 1.25rem; width: 1.25rem;
} }
.w-96 { .w-full {
width: 24rem; width: 100%;
} }
.w-8 { .w-8 {
width: 2rem; width: 2rem;
@@ -806,9 +806,6 @@ select {
.w-auto { .w-auto {
width: auto; width: auto;
} }
.w-full {
width: 100%;
}
.w-4 { .w-4 {
width: 1rem; width: 1rem;
} }
@@ -818,6 +815,9 @@ select {
.w-48 { .w-48 {
width: 12rem; width: 12rem;
} }
.w-96 {
width: 24rem;
}
.w-20 { .w-20 {
width: 5rem; width: 5rem;
} }
@@ -967,14 +967,14 @@ select {
--tw-bg-opacity: 1; --tw-bg-opacity: 1;
background-color: rgb(59 130 246 / var(--tw-bg-opacity)); background-color: rgb(59 130 246 / var(--tw-bg-opacity));
} }
.bg-gray-500 {
--tw-bg-opacity: 1;
background-color: rgb(107 114 128 / var(--tw-bg-opacity));
}
.bg-gray-800 { .bg-gray-800 {
--tw-bg-opacity: 1; --tw-bg-opacity: 1;
background-color: rgb(31 41 55 / var(--tw-bg-opacity)); background-color: rgb(31 41 55 / var(--tw-bg-opacity));
} }
.bg-gray-500 {
--tw-bg-opacity: 1;
background-color: rgb(107 114 128 / var(--tw-bg-opacity));
}
.bg-indigo-50 { .bg-indigo-50 {
--tw-bg-opacity: 1; --tw-bg-opacity: 1;
background-color: rgb(238 242 255 / var(--tw-bg-opacity)); background-color: rgb(238 242 255 / var(--tw-bg-opacity));
@@ -988,6 +988,9 @@ select {
.p-2 { .p-2 {
padding: 0.5rem; padding: 0.5rem;
} }
.p-1 {
padding: 0.25rem;
}
.px-4 { .px-4 {
padding-left: 1rem; padding-left: 1rem;
padding-right: 1rem; padding-right: 1rem;
@@ -1030,12 +1033,6 @@ select {
.pt-4 { .pt-4 {
padding-top: 1rem; padding-top: 1rem;
} }
.pb-2 {
padding-bottom: 0.5rem;
}
.pl-2 {
padding-left: 0.5rem;
}
.pt-8 { .pt-8 {
padding-top: 2rem; padding-top: 2rem;
} }
@@ -1048,12 +1045,12 @@ select {
.pb-1 { .pb-1 {
padding-bottom: 0.25rem; padding-bottom: 0.25rem;
} }
.pb-4 {
padding-bottom: 1rem;
}
.pt-6 { .pt-6 {
padding-top: 1.5rem; padding-top: 1.5rem;
} }
.pl-2 {
padding-left: 0.5rem;
}
.pt-1 { .pt-1 {
padding-top: 0.25rem; padding-top: 0.25rem;
} }
@@ -1063,6 +1060,12 @@ select {
.pr-4 { .pr-4 {
padding-right: 1rem; padding-right: 1rem;
} }
.pb-4 {
padding-bottom: 1rem;
}
.pb-2 {
padding-bottom: 0.5rem;
}
.text-left { .text-left {
text-align: left; text-align: left;
} }
@@ -1072,6 +1075,9 @@ select {
.text-right { .text-right {
text-align: right; text-align: right;
} }
.align-top {
vertical-align: top;
}
.font-sans { .font-sans {
font-family: Nunito, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-family: Nunito, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
} }
@@ -1079,14 +1085,14 @@ select {
font-size: 0.875rem; font-size: 0.875rem;
line-height: 1.25rem; line-height: 1.25rem;
} }
.text-lg {
font-size: 1.125rem;
line-height: 1.75rem;
}
.text-xl { .text-xl {
font-size: 1.25rem; font-size: 1.25rem;
line-height: 1.75rem; line-height: 1.75rem;
} }
.text-lg {
font-size: 1.125rem;
line-height: 1.75rem;
}
.text-base { .text-base {
font-size: 1rem; font-size: 1rem;
line-height: 1.5rem; line-height: 1.5rem;
@@ -1127,14 +1133,6 @@ select {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgb(55 65 81 / var(--tw-text-opacity)); color: rgb(55 65 81 / var(--tw-text-opacity));
} }
.text-blue-500 {
--tw-text-opacity: 1;
color: rgb(59 130 246 / var(--tw-text-opacity));
}
.text-red-500 {
--tw-text-opacity: 1;
color: rgb(239 68 68 / var(--tw-text-opacity));
}
.text-gray-800 { .text-gray-800 {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgb(31 41 55 / var(--tw-text-opacity)); color: rgb(31 41 55 / var(--tw-text-opacity));
@@ -1163,10 +1161,18 @@ select {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgb(17 24 39 / var(--tw-text-opacity)); color: rgb(17 24 39 / var(--tw-text-opacity));
} }
.text-red-500 {
--tw-text-opacity: 1;
color: rgb(239 68 68 / var(--tw-text-opacity));
}
.text-green-500 { .text-green-500 {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgb(34 197 94 / var(--tw-text-opacity)); color: rgb(34 197 94 / var(--tw-text-opacity));
} }
.text-blue-500 {
--tw-text-opacity: 1;
color: rgb(59 130 246 / var(--tw-text-opacity));
}
.text-green-600 { .text-green-600 {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgb(22 163 74 / var(--tw-text-opacity)); color: rgb(22 163 74 / var(--tw-text-opacity));
@@ -9075,14 +9081,14 @@ readers do not read off random characters that represent icons */
--tw-bg-opacity: 1; --tw-bg-opacity: 1;
background-color: rgb(29 78 216 / var(--tw-bg-opacity)); background-color: rgb(29 78 216 / var(--tw-bg-opacity));
} }
.hover\:bg-gray-700:hover {
--tw-bg-opacity: 1;
background-color: rgb(55 65 81 / var(--tw-bg-opacity));
}
.hover\:bg-gray-100:hover { .hover\:bg-gray-100:hover {
--tw-bg-opacity: 1; --tw-bg-opacity: 1;
background-color: rgb(243 244 246 / var(--tw-bg-opacity)); background-color: rgb(243 244 246 / var(--tw-bg-opacity));
} }
.hover\:bg-gray-700:hover {
--tw-bg-opacity: 1;
background-color: rgb(55 65 81 / var(--tw-bg-opacity));
}
.hover\:bg-gray-50:hover { .hover\:bg-gray-50:hover {
--tw-bg-opacity: 1; --tw-bg-opacity: 1;
background-color: rgb(249 250 251 / var(--tw-bg-opacity)); background-color: rgb(249 250 251 / var(--tw-bg-opacity));
@@ -9095,6 +9101,10 @@ readers do not read off random characters that represent icons */
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgb(156 163 175 / var(--tw-text-opacity)); color: rgb(156 163 175 / var(--tw-text-opacity));
} }
.hover\:text-green-700:hover {
--tw-text-opacity: 1;
color: rgb(21 128 61 / var(--tw-text-opacity));
}
.hover\:text-blue-700:hover { .hover\:text-blue-700:hover {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgb(29 78 216 / var(--tw-text-opacity)); color: rgb(29 78 216 / var(--tw-text-opacity));
@@ -9107,10 +9117,6 @@ readers do not read off random characters that represent icons */
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgb(55 65 81 / var(--tw-text-opacity)); color: rgb(55 65 81 / var(--tw-text-opacity));
} }
.hover\:text-green-700:hover {
--tw-text-opacity: 1;
color: rgb(21 128 61 / var(--tw-text-opacity));
}
.hover\:text-gray-800:hover { .hover\:text-gray-800:hover {
--tw-text-opacity: 1; --tw-text-opacity: 1;
color: rgb(31 41 55 / var(--tw-text-opacity)); color: rgb(31 41 55 / var(--tw-text-opacity));

View File

@@ -13,46 +13,6 @@
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8"> <div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
<div class="bg-white overflow-hidden shadow-sm sm:rounded-lg"> <div class="bg-white overflow-hidden shadow-sm sm:rounded-lg">
<div class="p-6 bg-white border-b border-gray-200"> <div class="p-6 bg-white border-b border-gray-200">
{{-- <div class="flex flex-row">
<div class="basis-1/2">
<a href="{{ route('mmc.create') }}">
<button
class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded-full">
<i class="fa fa-add pr-2"></i>{{ __('Create mmc') }}
</button>
</a>
</div>
<div class="basis-1/2 text-right">
<a href="{{ route('mmc.scan') }}">
<button
class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded-full">
<i class="fa fa-search pr-2"></i>{{ __('Scan mmc') }}
</button>
</a>
</div>
</div>
<div align="center" class="pt-4"> --}}
{{-- <div class="w-96 mx-auto">
<div>
<x-label for="auk_id" :value="__('Select AUK')" />
<x-select id="auk_id" class="block mt-1 w-full" name="auk_id" required>
@foreach ($top_auks as $auks)
<option value="{{ $auks->id }}">{{ $auks->auk_name }}
({{ $auks->auk_path }})
</option>
@if (count($auks->childs))
@include('mmc.optionChild', [
'childs' => $auks->childs,
'level' => 1,
])
@endif
@endforeach
</x-select>
</div>
</div> --}}
<div align="center"> <div align="center">
<h3>Выберите АУК:</h3> <h3>Выберите АУК:</h3>
<table class="table table-sm border-b border-gray-200"> <table class="table table-sm border-b border-gray-200">
@@ -62,26 +22,50 @@
</tr> </tr>
@forelse ($top_auks as $top_auk) @forelse ($top_auks as $top_auk)
<tr class="p-2 border border-gray-200 text-center"> <tr class="p-2 border border-gray-200 text-center">
<td class="p-2 border border-gray-200 text-left">{{ $top_auk->auk_name }}</td> <td class="p-2 border border-gray-200 text-left align-top">
{{ $top_auk->auk_name }}</td>
<td class="p-2 border border-gray-200 text-center"> <td class="p-2 border border-gray-200 text-center">
<table> <table class="mx-auto">
<tr>
<th class="p-1 border border-gray-200 text-xs">
{{ __('File') }}
</th>
<th class="p-1 border border-gray-200 text-xs">
{{ __('Size') }}
</th>
<th class="p-1 border border-gray-200 text-xs">
{{ __('MTime') }}
</th>
<th class="p-1 border border-gray-200 text-xs">
{{ __('Image') }}
</th>
</tr>
@forelse ($top_auk->mmcs as $mmc) @forelse ($top_auk->mmcs as $mmc)
<tr> <tr>
<td>{{ $mmc->filename }}</td> <td class="p-1 border border-gray-200 text-xs">
</tr> {{ $mmc->filename }}</td>
<td class="p-1 border border-gray-200 text-xs">{{ $mmc['size'] }}
</td>
<td class="p-1 border border-gray-200 text-xs">
{{ date('d.m.Y H:i:s', $mmc['mtime']) }}</td>
<td>
<img height="50"
src="{{ 'file://' . $project->mmc_path . '/' . $top_auk->auk_path . '/' . $top_auk->image_dir . '/' . $mmc->filename }}">
</td>
</tr>
@empty @empty
<tr> <tr>
<td>No MMC <td colspan="3" class="p-1 border border-gray-200 text-xs">No MMC
<a href="{{ route('mmc.scan',$top_auk->id) }}" class="pl-2"> <a href="{{ route('mmc.scan', $top_auk->id) }}"
<button class="pl-2">
class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded-full"> <button
<i class="fa fa-search pr-2"></i>{{ __('Scan mmc') }} class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded-full">
</button> <i class="fa fa-search pr-2"></i>{{ __('Scan mmc') }}
</a> </button>
</td> </a>
</tr> </td>
</tr>
@endforelse @endforelse
</table> </table>
</td> </td>
@@ -99,7 +83,6 @@
@endforelse @endforelse
</table> </table>
</div> </div>
{{-- </div> --}}
</div> </div>
</div> </div>
</div> </div>

View File

@@ -1,7 +1,7 @@
<x-app-layout> <x-app-layout>
<x-slot name="header"> <x-slot name="header">
<h2 class="font-semibold text-xl text-gray-800 leading-tight"> <h2 class="font-semibold text-xl text-gray-800 leading-tight">
{{ $project->name }}: {{ __('Scan MMC') }} {{ $project->name }}: {{ __('Scan MMC') }}: {{ $AUK->auk_name }}
</h2> </h2>
</x-slot> </x-slot>
@@ -9,49 +9,53 @@
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8"> <div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
<div class="bg-white overflow-hidden shadow-sm sm:rounded-lg"> <div class="bg-white overflow-hidden shadow-sm sm:rounded-lg">
<div class="p-6 bg-white border-b border-gray-200"> <div class="p-6 bg-white border-b border-gray-200">
<div class="w-96 mx-auto"> <div class="text-center">
<h3 class="font-bold text-l text-gray-800 leading-tight pb-2">{{ $AUK->auk_name }}</h3> <h3 class="font-bold text-l text-gray-800 leading-tight pb-2">{{ $AUK->auk_name }}</h3>
<table class="table table-sm border-b border-gray-200"> </div>
<tr class="border border-gray-200"> <table class="table table-sm border-b border-gray-200 mx-auto">
<th class="p-2 border border-gray-200"> <tr class="border border-gray-200">
{{ __('File') }} <th class="p-2 border border-gray-200">
</th> {{ __('File') }}
<th class="p-2 border border-gray-200"> </th>
{{ __('Size') }} <th class="p-2 border border-gray-200">
</th> {{ __('Size') }}
<th class="p-2 border border-gray-200"> </th>
{{ __('MTime') }} <th class="p-2 border border-gray-200">
</th> {{ __('MTime') }}
{{-- <th class="p-2 border border-gray-200"> </th>
{{-- <th class="p-2 border border-gray-200">
{{ __('ATime') }} {{ __('ATime') }}
</th> --}} </th> --}}
</tr>
@forelse ($MMC as $image)
<tr class="border border-gray-200">
<td class="p-2 border border-gray-200">{{ $image['filename'] }}</td>
<td class="p-2 border border-gray-200">{{ $image['size'] }}</td>
<td class="p-2 border border-gray-200">{{ date('d.m.Y H:i:s', $image['mtime']) }}</td>
{{-- <td class="p-2 border border-gray-200">{{ $image['atime'] }}</td> --}}
</tr> </tr>
@forelse ($MMC as $image)
<tr class="border border-gray-200">
<td class="p-2 border border-gray-200">{{ $image['filename'] }}</td>
<td class="p-2 border border-gray-200">{{ $image['size'] }}</td>
<td class="p-2 border border-gray-200">{{ $image['mtime'] }}</td>
{{-- <td class="p-2 border border-gray-200">{{ $image['atime'] }}</td> --}}
</tr>
@empty @empty
<tr> <tr>
<td colspan="4" class="p-2 border border-gray-200 text-center">No Images! <td colspan="4" class="p-2 border border-gray-200 text-center">No Images!
</td> </td>
</tr> </tr>
@endforelse @endforelse
</table> </table>
@if (count($MMC)) @if (count($MMC))
<form method="POST" action="{{ route('mmc.load',$AUK->id) }}"> <form method="POST" action="{{ route('mmc.load', $AUK->id) }}" class="w-96 mx-auto">
@csrf @csrf
<input type="hidden" name="auk_id" id="auk_id" value="{{ $AUK->id }}"> <input type="hidden" name="auk_id" id="auk_id" value="{{ $AUK->id }}">
@for($i = 0; $i < count($MMC); $i++) @for ($i = 0; $i < count($MMC); $i++)
<input type="hidden" name="filename_{{$i}}" id="filename_{{$i}}" value="{{ $MMC[$i]['filename'] }}"> <input type="hidden" name="filename_{{ $i }}"
<input type="hidden" name="size_{{$i}}" id="size_{{$i}}" value="{{ $MMC[$i]['size'] }}"> id="filename_{{ $i }}" value="{{ $MMC[$i]['filename'] }}">
<input type="hidden" name="mtime_{{$i}}" id="mtime_{{$i}}" value="{{ $MMC[$i]['mtime'] }}"> <input type="hidden" name="size_{{ $i }}" id="size_{{ $i }}"
{{-- <input type="hidden" name="atime_{{$i}}" id="atime_{{$i}}" value="{{ $image['atime'] }}"> --}} value="{{ $MMC[$i]['size'] }}">
<input type="hidden" name="mtime_{{ $i }}" id="mtime_{{ $i }}"
value="{{ $MMC[$i]['mtime'] }}">
{{-- <input type="hidden" name="atime_{{$i}}" id="atime_{{$i}}" value="{{ $image['atime'] }}"> --}}
@endfor @endfor
<div class="flex items-center justify-end mt-4"> <div class="flex items-center justify-end mt-4">
<button <button
@@ -66,9 +70,9 @@
</div> </div>
</div> </div>
</form> </form>
@endif @endif
</div>
</div> </div>
</div> </div>
</div> </div>