{
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 = [];
}
}
}
- $errors []= empty($error) ? '' : $indSS . ":" . $error;
+ if (!empty($error)) {
+ $errors []= ($indSS + 1) . ":" . $error;
+ }
}
return compact('errors');
$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;