Записки велосипедиста №3. Печать заказов из под админки (простая версия).



  • Добрейшего времени суток. Решил предложить один из самых простых вариантов для печати заказа из под админки. Чуть позже будет "продвинутая" система с плюшками, вроде печати нескольких заказов
    Attention/внимание/увага/piesardzība - решение простое, ничего не сломает. Но предупреждаю - оно колхозное.

    Шаг №1
    Открываем /assets/components/shopkeeper3/mgr/css/shk-style.css и вставляем в конец файла:

    @media print {           
        #modx-header, #modx-leftbar, #x-plain-bwrap, #ext-gen21, .amod-container-b, .modal-footer, .nav-tabs, .modal-header {
        display: none !important;
            
        }
        
        #modx-content {
        width: 100% !important;
        left: 0px !important;
        }
               
        .modal-content {
            border: none !important;
            box-shadow: none !important;
        }
    }
    

    Шаг №2
    Открываем /core/components/shopkeeper3/templates/home.tpl , находим строку 297 (перед </uib-tabset>) и вставляем код:

    <!-- печать заказа -->
                <uib-tab heading="Печать" onclick="window.print();">
                    
                    <div id="print_field">
                         <div style="page-break-after: always;">
                            <h1>Заказ {{data.order.id}}</h1>
                            <table class="table table-bordered">
                               <thead>
                                  <tr>
                                     <td style="width: 50%;">Данные заказчика</td>
                                     <td style="width: 50%;">Информация о заказе</td>
                                  </tr>
                               </thead>
                               <tbody>
                                  <tr>
                                     <td style="width: 50%;">
                                       <span ng-repeat="item in data.order.contacts">
                                            <b>{{item.label}}:</b>
                                            {{item.value}} <br>
                                        </span> 
                                     </td>
                                     <td style="width: 50%;">
                                        <b>Время добавления</b> {{data.order.date}}<br>
                                        <b>№ Заказа</b> {{data.order.id}}<br>
                                        <b>Способ оплаты</b> {{data.order.payment}}<br>
                                        <b>Способ доставки</b> {{data.order.delivery}}<br>
                                     </td>
                                  </tr>
                               </tbody>
                            </table>
            
                            <table class="table table-bordered">
                               <thead>
                                  <tr>
                                     <td><b>#</b></td>
                                     <td><b>ID товара</b></td>
                                     <td><b>Товар</b></td>
                                     <td><b>Параметры</b></td>
                                     <td class="text-right"><b>Количество</b></td>
                                     <td class="text-right"><b>Цена за единицу</b></td>
                                  </tr>
                               </thead>
                               <tbody>
                                   <tr ng-repeat="item in data.order.purchases">
                                            <td>{{$index+1}}</td>
                                            <td>{{item.p_id}}</td>
                                            <td>{{item.name}}</td>
                                            <td>
                                                <div ng-repeat="opt in item.options">{{ opt[0] }}</div>
                                            </td>
                                            <td>{{item.count}}</td>
                                            <td>{{item.price | number: 2}}</td>
                                        </tr>
                                  <tr>
                                     <td class="text-right" colspan="5"><b>{{data.order.delivery}}</b></td>
                                     <td class="text-right">{{data.order.delivery_price}} {{data.order.currency}}</td>
                                  </tr>
                                  <tr>
                                     <td class="text-right" colspan="5"><b>Итого</b></td>
                                     <td class="text-right">{{data.total_price | number: 2}} {{data.order.currency}}</td>
                                  </tr>
                               </tbody>
                            </table>
                         </div>
                      </div>
                    
                </uib-tab>
                <!-- печать заказа -->
    

    Получается вот такой результат:
    0_1488808041431_2.png
    0_1488808023904_1.png



  • А если заказов много, то этот вариант не подходит


  • Администраторы

    Участник @JaGGer написал в Записки велосипедиста №3. Печать заказов из под админки (простая версия).:

    А если заказов много, то этот вариант не подходит

    Почему?



  • @Andchir Если товаров много, то и на документе A4 например не вмещаются все товары а новые страницы Chrome не создал


  • Администраторы

    @JaGGer
    Теперь понятно, выше вы писали "если заказов много". Заказы и товары это разные вещи.



  • @Andchir Согласен! Прошу прощения, ошибся 😊



Последние темы

Похоже, подключение к Форум | MODX Shopkeeper было разорвано, подождите, пока мы пытаемся восстановить соединение.