瀏覽代碼

adding sku records

Alexander Musikhin 8 月之前
父節點
當前提交
1b0b534a4d

+ 16 - 0
resources/views/layouts/app.blade.php

@@ -106,6 +106,22 @@
         let socketAddress = '{{ config('app.ws_addr') }}';
         localStorage.setItem('user', user);
         localStorage.setItem('socketAddress', socketAddress);
+
+        let selectMaf = $('#select_maf');
+        $('#search_maf').on('keyup', function () {
+            // search products on backend
+            $.get('{{ route('product.search') }}?s=' + $(this).val(),
+                function (data) {
+                    selectMaf.children().remove()
+                    $.each(data, function (id, name) {
+                        selectMaf.append('<option value=\'' + id + '\'>' + name + '</option>');
+                    });
+                }
+            );
+        });
+
+
+
     </script>
 
 </body>

+ 11 - 25
resources/views/orders/edit.blade.php

@@ -88,34 +88,20 @@
 
 @push('scripts')
     <script type="module">
-
-        let selectMaf = $('#select_maf');
-        $('#search_maf').on('keyup', function () {
-            // search products on backend
-            $.get('{{ route('product.search') }}?s=' + $(this).val(),
-                function (data) {
-                    selectMaf.children().remove()
-                    $.each(data, function (id, name) {
-                        selectMaf.append('<option value=\'' + id + '\'>' + name + '</option>');
-                    });
-                }
-            );
-        });
-
-        selectMaf.on('change', function () {
+        $('#select_maf').on('change', function () {
             $('#selected_maf').append(
                 '<div class="maf  d-flex justify-content-between mb-1">' +
-                    '<div>' +
-                        '<input type="hidden" name="products[]" value="'+ $(this).val() +'">' +
-                        '<div class="p-1">'+ $('#select_maf option:selected').text() +'</div> ' +
-                    '</div>' +
+                '<div>' +
+                '<input type="hidden" name="products[]" value="'+ $(this).val() +'">' +
+                '<div class="p-1">'+ $('#select_maf option:selected').text() +'</div> ' +
+                '</div>' +
                 '<div class="col-1 d-flex justify-content-end">' +
-                    '<div>' +
-                        '<input class="form-control text-end form-control-sm quantity" type="number" name="quantity[]" value="1">' +
-                    '</div>' +
-                    '<div class="p-1">' +
-                        '<i onclick="$(this).parent().parent().parent().remove();" class="bi bi-trash text-danger cursor-pointer"></i>' +
-                    '</div>' +
+                '<div>' +
+                '<input class="form-control text-end form-control-sm quantity" type="number" name="quantity[]" value="1">' +
+                '</div>' +
+                '<div class="p-1">' +
+                '<i onclick="$(this).parent().parent().parent().remove();" class="bi bi-trash text-danger cursor-pointer"></i>' +
+                '</div>' +
                 '</div>'
             );
             $('#select_maf').children().remove();

+ 1 - 0
resources/views/partials/input.blade.php

@@ -9,6 +9,7 @@
                class="form-control @error($name) is-invalid @enderror" @disabled($disabled ?? null) @required($required ?? null)
                 @isset($min) min="{{ $min }}" @endisset
                 @isset($max) max="{{ $max }}" @endisset
+                @isset($style) style="{{ $style }}" @endisset
                 @isset($pattern) pattern="{{ $pattern }}" @endisset
                 placeholder="{{ $placeholder ?? ''}}"
                 @isset($multiple) multiple="multiple" @endisset

+ 1 - 1
resources/views/partials/table.blade.php

@@ -56,7 +56,7 @@
                                 {!! $string->$rel->$field !!}
                             @else
                                 <ul class="small">
-                                    @foreach($string->$rel as $item)
+                                    @foreach($string->$rel ?? [] as $item)
                                         <li>{!! $item->$field !!}</li>
                                     @endforeach
                                 </ul>

+ 52 - 1
resources/views/products_sku/index.blade.php

@@ -7,7 +7,9 @@
             <h3>Заказы МАФ</h3>
         </div>
         <div class="col-6 text-end">
-
+            <button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#addModal">
+                Добавить
+            </button>
 
         </div>
     </div>
@@ -25,9 +27,58 @@
         </div>
     </div>
 
+    <!-- Модальное окно добавления-->
+    <div class="modal fade" id="addModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
+        <div class="modal-dialog modal-fullscreen-sm-down modal-lg">
+            <div class="modal-content">
+                <div class="modal-header">
+                    <h1 class="modal-title fs-5" id="addModalLabel">Добавить заказ МАФ</h1>
+                    <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Закрыть"></button>
+                </div>
+                <div class="modal-body">
+                    <form action="{{ route('product_sku.store') }}" method="post">
+                        @csrf
+                        <div id="select_maf_form">
+                            <input type="text" class="form-control mb-2" placeholder="Поиск номенклатуры" id="search_maf">
+                            <select id="select_maf" class="form-select mb-3" multiple></select>
+                        </div>
+                        <div style="display:none;" id="sku_form">
+                            <a href="#" onclick="$('#sku_form').slideUp(); $('#select_maf_form').slideDown()">назад</a>
+                            <input type="hidden" id="product_id" name="product_id" value="">
+                            @include('partials.input', ['name' => 'product_name', 'title' => 'МАФ', 'disabled' => true])
+                            @include('partials.input', ['name' => 'rfid', 'title' => 'RFID', 'required' => true])
+                            @include('partials.input', ['name' => 'factory_number', 'title' => 'Номер фабрики', 'required' => true])
+                            @include('partials.input', ['name' => 'manufacture_date', 'title' => 'Дата производства', 'type' => 'date', 'required' => true])
+                            @include('partials.input', ['name' => 'service_life', 'title' => 'Срок службы', 'required' => true, 'type' => 'number'])
+                            @include('partials.input', ['name' => 'certificate_number', 'title' => 'Номер сертификата', 'required' => true])
+                            @include('partials.input', ['name' => 'certificate_date', 'title' => 'Дата сертификата', 'type' => 'date', 'required' => true])
+                            @include('partials.input', ['name' => 'certificate_issuer', 'title' => 'Орган сертификации', 'required' => true])
+                            @include('partials.input', ['name' => 'certificate_type', 'title' => 'Вид сертификации', 'required' => true])
+                            @include('partials.submit', ['name' => 'Добавить'])
+                        </div>
+
+
+                    </form>
+                </div>
+            </div>
+        </div>
+    </div>
 
     @if($errors->count())
         @dump($errors)
     @endif
 @endsection
 
+
+@push('scripts')
+    <script type="module">
+        $('#select_maf').on('change', function () {
+            $('#product_id').val($(this).val());
+            $('#product_name').val($('#select_maf option:selected').text()).slideDown();
+            $('#select_maf_form').slideUp();
+            $('#sku_form').slideDown();
+
+
+        });
+    </script>
+@endpush

+ 1 - 1
todo.md

@@ -9,7 +9,7 @@
 - [ ] Добавить ответственных и привязать к району: ФИО, телефон
 - [x] заказы (площадки) - создание, отображение таблицы
 - [x] просмотр заказа, добавление товаров в заказ
-- [ ] заказы поставщику
+- [ ] заказы МАФ (склад)
 - [ ] импорт площадок
 - [ ] рекламации (возможно создание рекламации на манагере, пока не скажу)
 - [ ] отработка движения заявки, смена статусов итп