]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
Исправления
authorAlexander Smirnov <fredeom@mail.ru>
Fri, 26 Jul 2024 16:11:06 +0000 (19:11 +0300)
committerAlexander Smirnov <fredeom@mail.ru>
Fri, 26 Jul 2024 16:11:06 +0000 (19:11 +0300)
erp24/services/MotivationService.php
erp24/web/js/motivation/index.js

index 85375e48b127199521bb7d7332573181e5333907..66d724f6931f611b62d06aca8eeac3c65a3448e7 100644 (file)
@@ -13,7 +13,11 @@ class MotivationService
 {
     public static function uploadTemplatePlan($path) {
         $motivationCostsItems = MotivationCostsItem::find()->indexBy('code')->all();
-        $spreadsheets = IOFactory::load($path);
+        try {
+            $spreadsheets = IOFactory::load($path);
+        } catch (\Exception $ex) {
+            return ['errors' => ['Некорректный файл. Загрузите файл, заполненный по шаблону.']];
+        }
         $errors = [];
         foreach ($spreadsheets->getAllSheets() as $indSS => $spreadSheet) {
             $rows = [];
@@ -137,7 +141,9 @@ class MotivationService
                     }
                 }
             }
-            $errors []= empty($error) ? '' : $indSS . ":" . $error;
+            if (!empty($error)) {
+                $errors []= ($indSS + 1) . ":" . $error;
+            }
         }
 
         return compact('errors');
index 568d8827d6737bce504b4cfb660ccca667e041f8..79801cd5681c3cb4f469917b355f80556a370915 100644 (file)
@@ -12,12 +12,21 @@ function openUploadDictionary() {
     $mainModal.find('.close').on('click', () => { $mainModal.modal('hide'); });
     $mainModal.find('.modal-title').html('Загрузка плановых значений');
     $modalFooter.html('');
-    $modalBody.html('<div class="row"><div class="col-12"><form class="d-flex justify-content-left align-items-center" enctype="multipart/form-data"><div class="d-none"><input type="file" name="myfile" accept=".xlsx"/></div><div><input class="btn btn-success btn-sm" type="submit" value="Загрузить" /></div></form></div></div><div class="row"><div class="col-12" id="infoModal"></div></div> <div class="row mt-5"><div class="col-12 display-6">Скачать шаблон</div></div><div class="row"><div class="col-12"><a href="/files/download?url=/uploads/template_plan.xlsx" style="font-size: 1.5rem; color: #23389c; text-decoration: underline; " target="_blank">Шаблон. Загрузка плановых значений</a></div></div>');
+    $modalBody.html('<div class="row"><div class="col-12">'
+                   + '<form class="d-flex justify-content-left align-items-center" enctype="multipart/form-data">'
+                   + '<div class="d-none"><input type="file" name="myfile" accept=".xlsx"/></div>'
+                   + '<div><input class="btn btn-success btn-sm" type="submit" value="Загрузить" /></div></form></div></div>'
+                   + '<div class="row mt-2"><div class="col-12" id="infoModal"></div></div>'
+                   + '<div class="row mt-5"><div class="col-12 display-6">Скачать шаблон</div></div>'
+                   + '<div class="row"><div class="col-12">'
+                   + '<a href="/files/download?url=/uploads/template_plan.xlsx" style="font-size: 1.5rem; color: #23389c;'
+                   + ' text-decoration: underline; " target="_blank">Шаблон. Загрузка плановых значений</a></div></div>');
     const browse = $modalBody.find('input[type=file]').get(0);
     const btn = $modalBody.find('input[type=submit]').get(0);
     const info = $modalBody.find('#infoModal').get(0);
     const form = $modalBody.find('form').get(0);
     async function UploadDict() {
+        info.innerHTML = 'загрузка...';
         if (browse.files[0].size > 200000) {
             info.innerHTML = '<span style="color:red">Некорректный файл. Загрузите файл, заполненный по шаблону.</span>';
             return;