From bc98da67cef3f1c25757737aee4025e625542db2 Mon Sep 17 00:00:00 2001 From: Arsen Mirzaev Tatyano-Muradovich Date: Tue, 18 Jan 2022 14:39:12 +1000 Subject: [PATCH] =?UTF-8?q?=D0=BE=D0=B9=20=20=D1=83=D0=B2=D0=BE=D0=BB?= =?UTF-8?q?=D0=B8=D0=BB=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/controllers/CartController.php | 32 +- .../system/controllers/ProfileController.php | 35 +- .../controllers/RegistrationController.php | 1 + .../system/controllers/VerifyController.php | 2 +- mirzaev/skillparts/system/models/Request.php | 2 +- .../skillparts/system/views/cart/index.php | 76 ++++- .../system/views/mails/supplier.php | 2 +- .../skillparts/system/views/profile/index.php | 2 +- .../skillparts/system/views/profile/panel.php | 45 +-- .../skillparts/system/web/css/pages/cart.css | 32 +- .../system/web/css/pages/profile.css | 3 +- mirzaev/skillparts/system/web/js/cart.js | 320 ++++++++++++++++++ mirzaev/skillparts/system/web/js/menu.js | 44 +-- mirzaev/skillparts/system/web/js/profile.js | 15 +- .../skillparts/system/web/js/profile_panel.js | 2 +- 15 files changed, 537 insertions(+), 76 deletions(-) diff --git a/mirzaev/skillparts/system/controllers/CartController.php b/mirzaev/skillparts/system/controllers/CartController.php index cbf79cf..a5f89ce 100644 --- a/mirzaev/skillparts/system/controllers/CartController.php +++ b/mirzaev/skillparts/system/controllers/CartController.php @@ -4,6 +4,7 @@ declare(strict_types=1); namespace app\controllers; +use app\models\Account; use yii; use yii\filters\AccessControl; use yii\web\Controller; @@ -82,7 +83,7 @@ class CartController extends Controller { // Инициализация $page = yii::$app->request->get('page') ?? yii::$app->request->post('page') ?? 1; - $account = yii::$app->user->identity; + $account = Account::initAccount(); // Поиск корзины (текущего заказа) $model = Order::searchByType(); @@ -106,20 +107,45 @@ class CartController extends Controller // Инициализация содержимого корзины $connections = $model->content(10, $page); + // Инициализация данных списка для выбора терминала + $delivery_to_terminal_list = $account->genListTerminalsTo(); + $array_unshift_in_start = function (array &$array, string|int $key, mixed $value) { + $array = array_reverse($array, true); + $array[$key] = $value; + return $array = array_reverse($array, true); + }; + $array_write_default_value = function (array &$array, string $key = 'Выберите', string $value = 'Выберите') use ($array_unshift_in_start) { + if (isset($array[$key])) { + // Смещение или ассоциация найдена + + // Деинициализация + unset($array[$key]); + + // Инициализация + $array_unshift_in_start($array, $key, $value); + } + }; + + // Сортировка по алфавиту + asort($delivery_to_terminal_list); + + // Перемещение в начало массива значения "Выберите" + $array_write_default_value($delivery_to_terminal_list); + if (yii::$app->request->isPost) { // POST-запрос yii::$app->response->format = Response::FORMAT_JSON; return [ - 'main' => $this->renderPartial('index', compact('model', 'connections')), + 'main' => $this->renderPartial('index', compact('account', 'model', 'connections', 'delivery_to_terminal_list')), 'title' => 'Корзина', 'redirect' => '/cart', '_csrf' => yii::$app->request->getCsrfToken() ]; } - return $this->render('index', compact('model', 'connections')); + return $this->render('index', compact('account', 'model', 'connections', 'delivery_to_terminal_list')); } public function actionEditComm(string $catn): array|string|null diff --git a/mirzaev/skillparts/system/controllers/ProfileController.php b/mirzaev/skillparts/system/controllers/ProfileController.php index e488ed0..9e1b9cd 100644 --- a/mirzaev/skillparts/system/controllers/ProfileController.php +++ b/mirzaev/skillparts/system/controllers/ProfileController.php @@ -115,6 +115,7 @@ class ProfileController extends Controller // Инициализация $model = yii::$app->user->identity; $panel = yii::$app->request->post('panel') ?? yii::$app->request->get('panel'); + $redirect = yii::$app->request->post('redirect') ?? yii::$app->request->get('redirect'); $sidebar = $this->renderPartial('sidebar'); // Обработка настроек аккаунта @@ -172,17 +173,29 @@ class ProfileController extends Controller yii::$app->response->format = Response::FORMAT_JSON; - return [ - 'main' => $this->renderPartial('index', compact( - 'model', - 'sidebar', - 'delivery_to_terminal_list', - 'import_oem_list', - 'panel' - )), - 'redirect' => '/profile', - '_csrf' => yii::$app->request->getCsrfToken() - ]; + // Инициализация буфера вывода + $return = ['_csrf' => yii::$app->request->getCsrfToken()]; + + if (!empty($redirect)) { + // Передан маршрут перенаправления + + // Запись маршрута перенаправления + $return['redirect'] = $redirect; + + if ($redirect === '/profile') { + // Перенаправление на страницу профиля + + $return['main'] = $this->renderPartial('index', compact( + 'model', + 'sidebar', + 'delivery_to_terminal_list', + 'import_oem_list', + 'panel' + )); + } + } + + return $return; } return $this->render('index', compact( diff --git a/mirzaev/skillparts/system/controllers/RegistrationController.php b/mirzaev/skillparts/system/controllers/RegistrationController.php index 8d0c878..3893574 100644 --- a/mirzaev/skillparts/system/controllers/RegistrationController.php +++ b/mirzaev/skillparts/system/controllers/RegistrationController.php @@ -10,6 +10,7 @@ use yii\web\Controller; use yii\web\Response; use app\models\AccountForm; +use app\models\Order; use yii\bootstrap\ActiveForm; class RegistrationController extends Controller diff --git a/mirzaev/skillparts/system/controllers/VerifyController.php b/mirzaev/skillparts/system/controllers/VerifyController.php index 1d7d4bf..437780d 100644 --- a/mirzaev/skillparts/system/controllers/VerifyController.php +++ b/mirzaev/skillparts/system/controllers/VerifyController.php @@ -23,7 +23,7 @@ class VerifyController extends Controller return $this->redirect('/profile'); } - return ErrorController::throw('Ошибка подтверждения регистрации', 'Код подтверждения не совпадает с тем, что мы отправили вам на почту, либо регистрация уже была подтверждена. Свяжитесь с администрацией'); + return ErrorController::throw('Ошибка подтверждения', 'Код не совпадает с тем, что мы отправили вам на почту, либо регистрация уже была подтверждена.\n Свяжитесь с администрацией'); } else { // Простой запрос diff --git a/mirzaev/skillparts/system/models/Request.php b/mirzaev/skillparts/system/models/Request.php index 05d2d51..51b2db1 100644 --- a/mirzaev/skillparts/system/models/Request.php +++ b/mirzaev/skillparts/system/models/Request.php @@ -58,7 +58,7 @@ class Request extends Document parent::attributeLabels(), [ 'name' => 'ФИО', - 'phon' => 'Номер', + 'phon' => 'Телефон', 'mail' => 'Почта', 'file' => 'Карточка предприятия' ] diff --git a/mirzaev/skillparts/system/views/cart/index.php b/mirzaev/skillparts/system/views/cart/index.php index 95a18d5..4b61362 100644 --- a/mirzaev/skillparts/system/views/cart/index.php +++ b/mirzaev/skillparts/system/views/cart/index.php @@ -1,6 +1,9 @@
-
+

Корзина

@@ -211,7 +214,8 @@ use DateTime; } ?>
-
+ +
+
+ +
+
+
+ +
+
+ 'form_profile_settings', + 'action' => false, + 'fieldConfig' => [ + 'template' => '{label}{input}', + ], + 'options' => [ + 'onsubmit' => 'return false;', + 'class' => 'ml-auto px-0 col' + ] + ]); + + // Инициализация + $model_delivery ?? $model_delivery = yii::$app->user->identity; + $delivery_to_terminal_list ?? $delivery_to_terminal_list = ['Нет данных']; + ?> + + field($model_delivery, 'opts[delivery_to_terminal]', ['options' => ['class' => "mb-0"]]) + ->dropDownList($delivery_to_terminal_list, [ + 'onChange' => 'page_profile_settings(this.parentElement.parentElement, undefined, \'\'); cart_cost_calculate();', + 'disabled' => count($delivery_to_terminal_list) <= 1 + ])->label(false); ?> + + +
+ + +
+
+
+ diff --git a/mirzaev/skillparts/system/views/mails/supplier.php b/mirzaev/skillparts/system/views/mails/supplier.php index 11d4ae0..7fb7777 100644 --- a/mirzaev/skillparts/system/views/mails/supplier.php +++ b/mirzaev/skillparts/system/views/mails/supplier.php @@ -2,7 +2,7 @@

ФИО:

-

Номер:

+

Телефон:

Почта:

diff --git a/mirzaev/skillparts/system/views/profile/index.php b/mirzaev/skillparts/system/views/profile/index.php index 76628b9..1a2e118 100644 --- a/mirzaev/skillparts/system/views/profile/index.php +++ b/mirzaev/skillparts/system/views/profile/index.php @@ -62,7 +62,7 @@ if ( 'disabled' => count($delivery_to_terminal_list) <= 1 ])->label('Терминал'); ?> - Выберите терминал получателя для рассчёта доставки + Выберите терминал получателя для расчёта доставки diff --git a/mirzaev/skillparts/system/views/profile/panel.php b/mirzaev/skillparts/system/views/profile/panel.php index 6e83b7d..b7e90da 100644 --- a/mirzaev/skillparts/system/views/profile/panel.php +++ b/mirzaev/skillparts/system/views/profile/panel.php @@ -215,32 +215,35 @@ $timezone = $timezone[1][0]; ?> readId())['_key']; + try { + // Поиск аккаунта владельца + $account = '/account/' . Account::searchBySupplyId($supply->readId())['_key']; - // Деинициализация товара - unset($product); + // Деинициализация товара + unset($product); - if ($connect = $supply->searchConnectWithProduct()) { - // Найдена привязка поставки к аккаунту + if ($connect = $supply->searchConnectWithProduct()) { + // Найдена привязка поставки к аккаунту - $product = Product::searchById($connect->_to); - } - - foreach ($supply->jrnl ?? [] as $jrnl) { - // Перебор записей в журнале - - if ($jrnl['action'] === 'create') { - // Найдена дата создания - - // Инициализация даты - $create = (new DateTime())->setTimestamp($jrnl['date'])->setTimezone(new DateTimeZone($timezone))->format('H:i d.m.Y') ?? 'Неизвестно'; - - // Выход из цикла - break; + $product = Product::searchById($connect->_to); } - } + foreach ($supply->jrnl ?? [] as $jrnl) { + // Перебор записей в журнале + + if ($jrnl['action'] === 'create') { + // Найдена дата создания + + // Инициализация даты + $create = (new DateTime())->setTimestamp($jrnl['date'])->setTimezone(new DateTimeZone($timezone))->format('H:i d.m.Y') ?? 'Неизвестно'; + + // Выход из цикла + break; + } + } + } catch (Throwable $t) { + continue; + } ?>
diff --git a/mirzaev/skillparts/system/web/css/pages/cart.css b/mirzaev/skillparts/system/web/css/pages/cart.css index 97d1394..caa6253 100644 --- a/mirzaev/skillparts/system/web/css/pages/cart.css +++ b/mirzaev/skillparts/system/web/css/pages/cart.css @@ -2,11 +2,11 @@ background-color: #fff; } -#page_cart article .list > .row:nth-child(2n+1) { +#page_cart article .list>.row:nth-child(2n+1) { background-color: #f7f6f9; } -#page_cart article .list > .row:first-child { +#page_cart article .list>.row:first-child { /* border-bottom: 2px solid #bcc2d5; */ background-color: #dbdde3; } @@ -15,3 +15,31 @@ font-weight: bold; font-size: larger; } + +#page_cart #cart_registration_menu>.cart_registration_content { + flex-grow: 1; + border-radius: 0 3px 3px 3px; +} + +#page_cart #cart_registration_menu>.cart_registration_content>div, +#page_cart #cart_registration_menu>.cart_registration_content>input { + display: none; +} + +#page_cart #cart_registration_menu>.cart_registration_content>input:checked+div { + display: block; +} + +#page_cart #cart_registration_menu>.cart_registration_content>div>.header_blue { + background-color: #dbdde3; +} + +#page_cart #cart_registration_menu>.cart_registration_content>div>.header_blue~.row:nth-child(2n) { + background-color: #f7f6f9; +} + +#page_cart #cart_registration_menu>.cart_registration_content #cart_registration_input_suppliers_requests .panel_supplier_request .cart_registration_input_suppliers_requests_block_textarea { + min-height: 100px; + display: inline-block; + height: 100%; +} diff --git a/mirzaev/skillparts/system/web/css/pages/profile.css b/mirzaev/skillparts/system/web/css/pages/profile.css index 46550a5..1a8da27 100644 --- a/mirzaev/skillparts/system/web/css/pages/profile.css +++ b/mirzaev/skillparts/system/web/css/pages/profile.css @@ -4,7 +4,7 @@ } #page_profile [id^=profile_panel_]>.profile_panel_content { - flex-grow : 1; + flex-grow: 1; border-radius: 0 3px 3px 3px; } @@ -30,7 +30,6 @@ display: inline-block; height: 100%; } -} /* #page_profile [id^=profile_panel_]>.profile_panel_content>div>.header_blue~.row:nth-child(2n + 1) { background-color: #dbdde3; diff --git a/mirzaev/skillparts/system/web/js/cart.js b/mirzaev/skillparts/system/web/js/cart.js index 7ca8c9a..9f54461 100644 --- a/mirzaev/skillparts/system/web/js/cart.js +++ b/mirzaev/skillparts/system/web/js/cart.js @@ -315,6 +315,326 @@ function cart_list_comment_save(catn, type, element) { return true; }; +/** + * Редактирование параметра + * + * @param {*} _key + * @param {*} target + * @param {*} value + * + * @returns + */ +function cart_registration_block_edit(_key, target, value) { + $.ajax({ + url: `/${_key}/${target}/edit`, + type: 'post', + dataType: 'json', + data: { + '_csrf': yii.getCsrfToken(), + 'value': value + }, + success: page_profile_response_success, + error: page_profile_response_error + }); + + return false; +} + + +function cart_registration_entity_init(_key, wrap = 'cart_registration_entity_body') { + // Инициализация содержимого блока "Заявки на регистрацию поставщиков" + + // Инициализация оболочки + wrap = document.getElementById(wrap); + + $.ajax({ + url: '/profile/panel/suppliers/requests/search', + type: 'post', + dataType: 'json', + data: { + '_csrf': yii.getCsrfToken(), + _key + }, + success: (data, status, xhr) => { + // Обработка ответа + + if (data !== undefined) { + // Получены данные с сервера + + if (data.suppliers !== undefined && data.suppliers !== null) { + // Найдены данные поставщиков + + // Удаление данных в оболочке + wrap.innerHTML = null; + + for (let html of cart_registration_entity_generate(data.suppliers[0])) { + // Перебор сгенерированных HTML-элементов + + // Запись в документ + wrap.appendChild(html); + } + } + } + + // Переход к остальным обработчикам + cart_response_success(data, status, xhr); + }, + error: cart_response_error + }); +} + +function cart_registration_entity_generate(account) { + // Инициализация буфера вывода + let html = new Set; + + if (account !== undefined) { + // Инициализация контейнера + let container = document.createElement('div'); + container.setAttribute('class', 'row'); + + // Инициализация первой строки + let row_1 = document.createElement('div'); + row_1.setAttribute('class', 'row px-0'); + + // Инициализация оболочки идентификатора аккаунта + let wrap_id = document.createElement('p'); + wrap_id.setAttribute('class', 'mt-0 mb-2 px-3 row'); + + // Инициализация ярлыка идентификатора аккаунта + let label_id = document.createElement('b'); + label_id.setAttribute('class', ''); + label_id.innerText = 'Договор:'; + + // Инициализация значения идентификатора аккаунта + let value_id = document.createElement('span'); + value_id.setAttribute('class', 'ml-auto'); + + // Инициализация колонки с основными данными аккаунта + let block_info = document.createElement('div'); + block_info.setAttribute('class', 'col-6 pl-0 d-flex flex-column'); + + // Инициализация ярлыка "NAME" + let label_name = document.createElement('label'); + label_name.setAttribute('class', 'control-label'); + label_name.innerText = 'Контактное лицо'; + + // Инициализация поля "NAME" + let input_name = document.createElement('input'); + input_name.setAttribute('class', 'form-control button_clean mb-3'); + input_name.setAttribute('type', 'text'); + input_name.setAttribute('placeholder', 'Иванов Иван Иванович'); + input_name.setAttribute('onchange', 'return cart_registration_block_edit(' + account._key + ', "name", this.value);'); + input_name.value = account.name ?? ''; + + // Инициализация ярлыка "BOSS" + let label_boss = document.createElement('label'); + label_boss.setAttribute('class', 'control-label'); + label_boss.innerText = 'Директор'; + + // Инициализация поля "BOSS" + let input_boss = document.createElement('input'); + input_boss.setAttribute('id', 'boss'); + input_boss.setAttribute('class', 'form-control button_clean mb-3'); + input_boss.setAttribute('type', 'text'); + input_boss.setAttribute('placeholder', 'Иванов Иван Иванович'); + input_boss.setAttribute('onchange', 'return cart_registration_block_edit(' + account._key + ', "boss", this.value);'); + input_boss.value = account.boss ?? '';; + + // Инициализация ярлыка "SIMC" (телефон) + let label_simc = document.createElement('label'); + label_simc.setAttribute('class', 'control-label'); + label_simc.innerText = 'Телефон'; + + // Инициализация поля "SIMC" (телефон) + let input_simc = document.createElement('input'); + input_simc.setAttribute('id', 'simc'); + input_simc.setAttribute('class', 'form-control button_clean mb-3'); + input_simc.setAttribute('type', 'number'); + input_simc.setAttribute('onchange', 'return cart_registration_block_edit(' + account._key + ', "simc", this.value);'); + input_simc.value = ''; + + // Инициализация ярлыка "MAIL" + let label_mail = document.createElement('label'); + label_mail.setAttribute('class', 'control-label'); + label_mail.innerText = 'Почта'; + + // Инициализация поля "MAIL" + let input_mail = document.createElement('input'); + input_mail.setAttribute('id', 'mail'); + input_mail.setAttribute('class', 'form-control button_clean mb-3'); + input_mail.setAttribute('type', 'mail'); + input_mail.setAttribute('onchange', 'return cart_registration_block_edit(' + account._key + ', "mail", this.value);'); + input_mail.value = account.mail ?? ''; + + // Инициализация колонки с вторичными данными аккаунта + let block_details = document.createElement('div'); + block_details.setAttribute('id', 'details'); + block_details.setAttribute('class', 'pr-0 col-6 d-flex flex-column'); + + // Инициализация ярлыка "INDX" + let label_indx = document.createElement('label'); + label_indx.setAttribute('class', 'control-label'); + label_indx.innerText = 'Индекс'; + + // Инициализация оболочки "INDX" + let wrap_indx = document.createElement('div'); + wrap_indx.setAttribute('class', 'row mx-0 mb-3'); + + // Инициализация поля "INDX" + let input_indx = document.createElement('input'); + input_indx.setAttribute('id', 'indx'); + input_indx.setAttribute('class', 'col form-control button_clean'); + input_indx.setAttribute('type', 'text'); + input_indx.setAttribute('onchange', 'return cart_registration_block_edit(' + account._key + ', "indx", this.value);'); + input_indx.value = account.indx ?? ''; + + // Инициализация кнопки "INDX" + let button_indx = document.createElement('a'); + button_indx.setAttribute('class', 'ml-2 my-auto text-dark'); + button_indx.setAttribute('type', 'button'); + button_indx.setAttribute('role', 'button'); + button_indx.innerHTML = ''; + + // Инициализация ярлыка "TAXN" + let label_taxn = document.createElement('label'); + label_taxn.setAttribute('class', 'control-label'); + label_taxn.innerText = 'ИНН'; + + // Инициализация поля "TAXN" + let input_taxn = document.createElement('input'); + input_taxn.setAttribute('id', 'taxn'); + input_taxn.setAttribute('class', 'form-control button_clean mb-3'); + input_taxn.setAttribute('type', 'text'); + input_taxn.setAttribute('onchange', 'return cart_registration_block_edit(' + account._key + ', "taxn", this.value);'); + input_taxn.value = account.taxn ?? ''; + + // Инициализация ярлыка "CNTG" + let label_cntg = document.createElement('label'); + label_cntg.setAttribute('class', 'control-label'); + label_cntg.innerText = 'КПП'; + + // Инициализация поля "CNTG" + let input_cntg = document.createElement('input'); + input_cntg.setAttribute('id', 'cntg'); + input_cntg.setAttribute('class', 'form-control button_clean mb-3'); + input_cntg.setAttribute('type', 'text'); + input_cntg.setAttribute('onchange', 'return cart_registration_block_edit(' + account._key + ', "cntg", this.value);'); + input_cntg.value = account.cntg ?? ''; + + // Инициализация ярлыка "FADD" + let label_fadd = document.createElement('label'); + label_fadd.setAttribute('class', 'control-label'); + label_fadd.innerText = 'Фактический адрес'; + + // Инициализация поля "FADD" + let input_fadd = document.createElement('input'); + input_fadd.setAttribute('id', 'fadd'); + input_fadd.setAttribute('class', 'form-control button_clean mb-3'); + input_fadd.setAttribute('type', 'text'); + input_fadd.setAttribute('onchange', 'return cart_registration_block_edit(' + account._key + ', "fadd", this.value);'); + input_fadd.value = account.fadd ?? ''; + + // Инициализация ярлыка "LADD" + let label_ladd = document.createElement('label'); + label_ladd.setAttribute('class', 'control-label'); + label_ladd.innerText = 'Юридический адрес'; + + // Инициализация поля "LADD" + let input_ladd = document.createElement('input'); + input_ladd.setAttribute('id', 'ladd'); + input_ladd.setAttribute('class', 'form-control button_clean'); + input_ladd.setAttribute('type', 'text'); + input_ladd.setAttribute('onchange', 'return cart_registration_block_edit(' + account._key + ', "ladd", this.value);'); + input_ladd.value = account.ladd ?? ''; + + // Инициализация ярлыка "COMP" + let label_comp = document.createElement('label'); + label_comp.setAttribute('class', 'control-label'); + label_comp.innerText = 'Организация'; + + // Инициализация поля "COMP" + let input_comp = document.createElement('input'); + input_comp.setAttribute('id', 'comp'); + input_comp.setAttribute('class', 'form-control button_clean mb-3'); + input_comp.setAttribute('type', 'text'); + input_comp.setAttribute('onchange', 'return cart_registration_block_edit(' + account._key + ', "comp", this.value);'); + input_comp.value = account.comp ?? ''; + + // Инициализация ярлыка "CNTC" + let label_cntc = document.createElement('label'); + label_cntc.setAttribute('class', 'control-label'); + label_cntc.innerText = 'Контакты'; + + // Инициализация поля "CNTC" + let input_cntc = document.createElement('textarea'); + input_cntc.setAttribute('id', 'cntc'); + input_cntc.setAttribute('class', 'form-control button_clean h-100'); + input_cntc.setAttribute('style', 'resize: none;'); + input_cntc.setAttribute('type', 'text'); + input_cntc.setAttribute('onchange', 'return cart_registration_block_edit(' + account._key + ', "cntc", this.value);'); + input_cntc.value = account.cntc ?? ''; + + // Инициализация оболочки найденного по геолокации города + let wrap_city = document.createElement('p'); + wrap_city.setAttribute('class', 'mt-1 mb-2 px-3 row'); + + // Инициализация ярлыка найденного по геолокации города + let label_city = document.createElement('b'); + label_city.setAttribute('class', ''); + label_city.innerText = 'Город:'; + + // Инициализация значения найденного по геолокации города + let value_city = document.createElement('span'); + value_city.setAttribute('class', 'ml-auto'); + value_city.innerText = account.city ?? 'Неизвестно'; + + // Компоновка элементов блока с основной информацией + block_info.appendChild(label_name); + block_info.appendChild(input_name); + + block_info.appendChild(label_simc); + block_info.appendChild(input_simc); + + block_info.appendChild(label_mail); + block_info.appendChild(input_mail); + + block_info.appendChild(label_indx); + wrap_indx.appendChild(input_indx); + wrap_indx.appendChild(button_indx); + block_info.appendChild(wrap_indx); + + block_info.appendChild(label_cntc); + block_info.appendChild(input_cntc); + + // Компоновка элементов блока с вторичными данными + block_details.appendChild(label_boss); + block_details.appendChild(input_boss); + + block_details.appendChild(label_comp); + block_details.appendChild(input_comp); + + block_details.appendChild(label_taxn); + block_details.appendChild(input_taxn); + + block_details.appendChild(label_cntg); + block_details.appendChild(input_cntg); + + block_details.appendChild(label_fadd); + block_details.appendChild(input_fadd); + + block_details.appendChild(label_ladd); + block_details.appendChild(input_ladd); + + // Компоновка всех колонок + container.appendChild(block_info); + container.appendChild(block_details); + + html.add(container); + } + + return html; +}; + function cart_response(data, status, xhr) { // Обработка ответов diff --git a/mirzaev/skillparts/system/web/js/menu.js b/mirzaev/skillparts/system/web/js/menu.js index 0a38d05..82e5e9a 100644 --- a/mirzaev/skillparts/system/web/js/menu.js +++ b/mirzaev/skillparts/system/web/js/menu.js @@ -1,12 +1,13 @@ -function page_main() { +function page_main(redirect = '/') { if (document.getElementById('page_index') === null) { - url = '/'; - $.ajax({ - url: url, + url: '/', type: 'post', dataType: 'json', - data: { '_csrf': yii.getCsrfToken() }, + data: { + '_csrf': yii.getCsrfToken(), + redirect + }, success: menu_success, error: menu_error }); @@ -15,15 +16,16 @@ function page_main() { return false; }; -function page_profile() { +function page_profile(redirect = '/profile') { if (document.getElementById('page_profile') === null) { - url = '/profile' - $.ajax({ - url: url, + url: '/profile', type: 'post', dataType: 'json', - data: { '_csrf': yii.getCsrfToken() }, + data: { + '_csrf': yii.getCsrfToken(), + redirect + }, success: menu_success, error: menu_error }); @@ -32,15 +34,16 @@ function page_profile() { return false; }; -function page_cart() { +function page_cart(redirect = '/cart') { if (document.getElementById('page_cart') === null) { - url = '/cart' - $.ajax({ - url: url, + url: '/cart', type: 'post', dataType: 'json', - data: { '_csrf': yii.getCsrfToken() }, + data: { + '_csrf': yii.getCsrfToken(), + redirect + }, success: menu_success, error: menu_error }); @@ -49,15 +52,16 @@ function page_cart() { return false; }; -function page_orders() { +function page_orders(redirect = '/orders') { if (document.getElementById('page_orders') === null) { - url = '/orders' - $.ajax({ - url: url, + url: '/orders', type: 'post', dataType: 'json', - data: { '_csrf': yii.getCsrfToken() }, + data: { + '_csrf': yii.getCsrfToken(), + redirect + }, success: menu_success, error: menu_error }); diff --git a/mirzaev/skillparts/system/web/js/profile.js b/mirzaev/skillparts/system/web/js/profile.js index 7a9dda5..ce1e01a 100644 --- a/mirzaev/skillparts/system/web/js/profile.js +++ b/mirzaev/skillparts/system/web/js/profile.js @@ -125,7 +125,7 @@ function page_supplies_settings(form, warehouse, panel) { return false; }; -function page_profile_settings(form, panel) { +function page_profile_settings(form, panel, redirect = '/profile') { if (form == undefined) { form = { '_csrf': yii.getCsrfToken() @@ -134,12 +134,21 @@ function page_profile_settings(form, panel) { if (panel !== undefined) { form.panel = panel; }; + + form.redirect = redirect; } else { form = $(form).serializeArray(); + if (panel !== undefined) { + form.push({ + name: "panel", + value: panel + }); + }; + form.push({ - name: "panel", - value: panel + name: "redirect", + value: redirect }); }; diff --git a/mirzaev/skillparts/system/web/js/profile_panel.js b/mirzaev/skillparts/system/web/js/profile_panel.js index 351c7b5..311fd10 100644 --- a/mirzaev/skillparts/system/web/js/profile_panel.js +++ b/mirzaev/skillparts/system/web/js/profile_panel.js @@ -290,7 +290,7 @@ function page_profile_panel_input_suppliers_requests_generate(suppliers) { // Инициализация ярлыка "SIMC" (телефон) let label_simc = document.createElement('label'); label_simc.setAttribute('class', 'control-label'); - label_simc.innerText = 'Номер'; + label_simc.innerText = 'Телефон'; // Инициализация поля "SIMC" (телефон) let input_simc = document.createElement('input');