ой уволили

This commit is contained in:
Arsen Mirzaev Tatyano-Muradovich 2022-01-18 14:39:12 +10:00
parent 70d2ae2935
commit bc98da67ce
15 changed files with 537 additions and 76 deletions

View File

@ -4,6 +4,7 @@ declare(strict_types=1);
namespace app\controllers; namespace app\controllers;
use app\models\Account;
use yii; use yii;
use yii\filters\AccessControl; use yii\filters\AccessControl;
use yii\web\Controller; use yii\web\Controller;
@ -82,7 +83,7 @@ class CartController extends Controller
{ {
// Инициализация // Инициализация
$page = yii::$app->request->get('page') ?? yii::$app->request->post('page') ?? 1; $page = yii::$app->request->get('page') ?? yii::$app->request->post('page') ?? 1;
$account = yii::$app->user->identity; $account = Account::initAccount();
// Поиск корзины (текущего заказа) // Поиск корзины (текущего заказа)
$model = Order::searchByType(); $model = Order::searchByType();
@ -106,20 +107,45 @@ class CartController extends Controller
// Инициализация содержимого корзины // Инициализация содержимого корзины
$connections = $model->content(10, $page); $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) { if (yii::$app->request->isPost) {
// POST-запрос // POST-запрос
yii::$app->response->format = Response::FORMAT_JSON; yii::$app->response->format = Response::FORMAT_JSON;
return [ return [
'main' => $this->renderPartial('index', compact('model', 'connections')), 'main' => $this->renderPartial('index', compact('account', 'model', 'connections', 'delivery_to_terminal_list')),
'title' => 'Корзина', 'title' => 'Корзина',
'redirect' => '/cart', 'redirect' => '/cart',
'_csrf' => yii::$app->request->getCsrfToken() '_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 public function actionEditComm(string $catn): array|string|null

View File

@ -115,6 +115,7 @@ class ProfileController extends Controller
// Инициализация // Инициализация
$model = yii::$app->user->identity; $model = yii::$app->user->identity;
$panel = yii::$app->request->post('panel') ?? yii::$app->request->get('panel'); $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'); $sidebar = $this->renderPartial('sidebar');
// Обработка настроек аккаунта // Обработка настроек аккаунта
@ -172,17 +173,29 @@ class ProfileController extends Controller
yii::$app->response->format = Response::FORMAT_JSON; yii::$app->response->format = Response::FORMAT_JSON;
return [ // Инициализация буфера вывода
'main' => $this->renderPartial('index', compact( $return = ['_csrf' => yii::$app->request->getCsrfToken()];
if (!empty($redirect)) {
// Передан маршрут перенаправления
// Запись маршрута перенаправления
$return['redirect'] = $redirect;
if ($redirect === '/profile') {
// Перенаправление на страницу профиля
$return['main'] = $this->renderPartial('index', compact(
'model', 'model',
'sidebar', 'sidebar',
'delivery_to_terminal_list', 'delivery_to_terminal_list',
'import_oem_list', 'import_oem_list',
'panel' 'panel'
)), ));
'redirect' => '/profile', }
'_csrf' => yii::$app->request->getCsrfToken() }
];
return $return;
} }
return $this->render('index', compact( return $this->render('index', compact(

View File

@ -10,6 +10,7 @@ use yii\web\Controller;
use yii\web\Response; use yii\web\Response;
use app\models\AccountForm; use app\models\AccountForm;
use app\models\Order;
use yii\bootstrap\ActiveForm; use yii\bootstrap\ActiveForm;
class RegistrationController extends Controller class RegistrationController extends Controller

View File

@ -23,7 +23,7 @@ class VerifyController extends Controller
return $this->redirect('/profile'); return $this->redirect('/profile');
} }
return ErrorController::throw('Ошибка подтверждения регистрации', 'Код подтверждения не совпадает с тем, что мы отправили вам на почту, либо регистрация уже была подтверждена. Свяжитесь с администрацией'); return ErrorController::throw('Ошибка подтверждения', 'Код не совпадает с тем, что мы отправили вам на почту, либо регистрация уже была подтверждена.\n Свяжитесь с администрацией');
} else { } else {
// Простой запрос // Простой запрос

View File

@ -58,7 +58,7 @@ class Request extends Document
parent::attributeLabels(), parent::attributeLabels(),
[ [
'name' => 'ФИО', 'name' => 'ФИО',
'phon' => 'Номер', 'phon' => 'Телефон',
'mail' => 'Почта', 'mail' => 'Почта',
'file' => 'Карточка предприятия' 'file' => 'Карточка предприятия'
] ]

View File

@ -1,6 +1,9 @@
<?php <?php
declare(strict_types=1);
use yii; use yii;
use yii\bootstrap\ActiveForm;
use app\models\connection\Dellin; use app\models\connection\Dellin;
@ -11,7 +14,7 @@ use DateTime;
<link href="/css/pages/cart.css" rel="stylesheet"> <link href="/css/pages/cart.css" rel="stylesheet">
<div id="page_cart" class="container mb-auto py-3"> <div id="page_cart" class="container mb-auto py-3">
<article class="py-3 px-4 rounded"> <article class="p-4 rounded">
<h4 class="ml-4 mt-2 mb-4"><i class="fas fa-shopping-cart mr-2"></i>Корзина</h4> <h4 class="ml-4 mt-2 mb-4"><i class="fas fa-shopping-cart mr-2"></i>Корзина</h4>
<div class="col mb-4 list rounded overflow-hidden"> <div class="col mb-4 list rounded overflow-hidden">
<div class="row py-2"> <div class="row py-2">
@ -211,7 +214,8 @@ use DateTime;
} }
?> ?>
</div> </div>
<div class="row mb-2 mx-0">
<div class="row mb-3 mx-0">
<select id="cart_list_action" class="form-control mr-3 button_clean w-auto" name="CartListAction"> <select id="cart_list_action" class="form-control mr-3 button_clean w-auto" name="CartListAction">
<option value="none" hidden>Действие с выбранными</option> <option value="none" hidden>Действие с выбранными</option>
<option value="delete" onclick="return cart_list_delete();">Удалить</option> <option value="delete" onclick="return cart_list_delete();">Удалить</option>
@ -219,25 +223,79 @@ use DateTime;
<a class="mr-3 btn button_red button_clean" title="Очистить корзину" href="/cart" role="button" onclick="return cart_delete();"> <a class="mr-3 btn button_red button_clean" title="Очистить корзину" href="/cart" role="button" onclick="return cart_delete();">
Очистить Очистить
</a> </a>
<p class="ml-auto mr-3 cart_field_cost"> </div>
<div class="dropdown-divider mb-3"></div>
<div class="p-3 mx-0 row">
<div id="cart_registration_menu" class="mr-5 col px-0">
<div class="row mb-4 mx-0">
<label class="ml-auto btn button_white mb-0 mr-4" for="cart_registration_individual">Физическое лицо</label>
<label class="mr-auto btn button_white mb-0" for="cart_registration_entity" onclick="cart_registration_entity_init(<?= $account['_key'] ?>)">Юридическое лицо</label>
</div>
<div class="cart_registration_content d-flex">
<input type="radio" id="cart_registration_individual" name="registration_panel" />
<div id="cart_registration_individual_body" class="col"></div>
<input type="radio" id="cart_registration_entity" name="registration_panel" checked />
<div id="cart_registration_entity_body" class="col"></div>
</div>
</div>
<div class="col-4 px-0 d-flex flex-column">
<div class="mb-3 mx-0 row mt-auto">
<?php $form = ActiveForm::begin([
'id' => '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 = ['Нет данных'];
?>
<?= $form->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); ?>
<?php ActiveForm::end(); ?>
</div>
<div class="mb-0 mx-0 row">
<div class="ml-auto px-0 col d-flex">
<a class="ml-auto col btn button_clean button_blue" title="Оформить заказ" href="/orders" role="button" onclick="return cart_request();">
<span id="cart_cost">0</span> <span id="cart_cost">0</span>
руб руб
</p>
<a class="btn button_clean button_blue" title="Оформить заказ" href="/orders" role="button" onclick="return cart_request();">
Оформить заказ
</a> </a>
</div> </div>
</div>
</div>
</div>
</article> </article>
</div> </div>
<script src="/js/textarea.js" defer></script> <script src="/js/textarea.js" defer></script>
<script src="/js/cart.js" defer></script> <script src="/js/cart.js" defer></script>
<script src="/js/profile.js" defer></script>
<script defer> <script defer>
if (document.readyState === "complete") { if (document.readyState === "complete") {
cart_cost_calculate(); cart_cost_calculate();
cart_registration_entity_init(<?= $account['_key'] ?>);
} else { } else {
document.addEventListener('DOMContentLoaded', function() { document.addEventListener('DOMContentLoaded', function() {
cart_cost_calculate(); cart_cost_calculate();
cart_registration_entity_init(<?= $account['_key'] ?>);
}, false); }, false);
} }
</script> </script>

View File

@ -2,7 +2,7 @@
<body> <body>
<p>ФИО: <span style="margin-left: auto;"><?= $name ?></span></p> <p>ФИО: <span style="margin-left: auto;"><?= $name ?></span></p>
<p>Номер: <span style="margin-left: auto;"><?= $phon ?></span></p> <p>Телефон: <span style="margin-left: auto;"><?= $phon ?></span></p>
<p>Почта: <span style="margin-left: auto;"><?= $mail ?></span></p> <p>Почта: <span style="margin-left: auto;"><?= $mail ?></span></p>
</body> </body>

View File

@ -62,7 +62,7 @@ if (
'disabled' => count($delivery_to_terminal_list) <= 1 'disabled' => count($delivery_to_terminal_list) <= 1
])->label('Терминал'); ?> ])->label('Терминал'); ?>
<small class="d-block mb-1">Выберите терминал <b><u>получателя</u></b> для <b>рассчёта доставки</b></small> <small class="d-block mb-1">Выберите терминал <b><u>получателя</u></b> для <b>расчёта доставки</b></small>
<?php ActiveForm::end(); ?> <?php ActiveForm::end(); ?>
</div> </div>

View File

@ -215,6 +215,7 @@ $timezone = $timezone[1][0];
?> ?>
<?php foreach ($supplies ?? [] as $supply) : ?> <?php foreach ($supplies ?? [] as $supply) : ?>
<?php <?php
try {
// Поиск аккаунта владельца // Поиск аккаунта владельца
$account = '/account/' . Account::searchBySupplyId($supply->readId())['_key']; $account = '/account/' . Account::searchBySupplyId($supply->readId())['_key'];
@ -240,7 +241,9 @@ $timezone = $timezone[1][0];
break; break;
} }
} }
} catch (Throwable $t) {
continue;
}
?> ?>
<div class="mb-3 row"> <div class="mb-3 row">

View File

@ -2,11 +2,11 @@
background-color: #fff; background-color: #fff;
} }
#page_cart article .list > .row:nth-child(2n+1) { #page_cart article .list>.row:nth-child(2n+1) {
background-color: #f7f6f9; background-color: #f7f6f9;
} }
#page_cart article .list > .row:first-child { #page_cart article .list>.row:first-child {
/* border-bottom: 2px solid #bcc2d5; */ /* border-bottom: 2px solid #bcc2d5; */
background-color: #dbdde3; background-color: #dbdde3;
} }
@ -15,3 +15,31 @@
font-weight: bold; font-weight: bold;
font-size: larger; 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%;
}

View File

@ -4,7 +4,7 @@
} }
#page_profile [id^=profile_panel_]>.profile_panel_content { #page_profile [id^=profile_panel_]>.profile_panel_content {
flex-grow : 1; flex-grow: 1;
border-radius: 0 3px 3px 3px; border-radius: 0 3px 3px 3px;
} }
@ -30,7 +30,6 @@
display: inline-block; display: inline-block;
height: 100%; height: 100%;
} }
}
/* #page_profile [id^=profile_panel_]>.profile_panel_content>div>.header_blue~.row:nth-child(2n + 1) { /* #page_profile [id^=profile_panel_]>.profile_panel_content>div>.header_blue~.row:nth-child(2n + 1) {
background-color: #dbdde3; background-color: #dbdde3;

View File

@ -315,6 +315,326 @@ function cart_list_comment_save(catn, type, element) {
return true; 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 = '<i class="fas fa-redo-alt" onclick="return profile_panel_input_suppliers_requests_block_regen(\'indx\');"></i>';
// Инициализация ярлыка "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) { function cart_response(data, status, xhr) {
// Обработка ответов // Обработка ответов

View File

@ -1,12 +1,13 @@
function page_main() { function page_main(redirect = '/') {
if (document.getElementById('page_index') === null) { if (document.getElementById('page_index') === null) {
url = '/';
$.ajax({ $.ajax({
url: url, url: '/',
type: 'post', type: 'post',
dataType: 'json', dataType: 'json',
data: { '_csrf': yii.getCsrfToken() }, data: {
'_csrf': yii.getCsrfToken(),
redirect
},
success: menu_success, success: menu_success,
error: menu_error error: menu_error
}); });
@ -15,15 +16,16 @@ function page_main() {
return false; return false;
}; };
function page_profile() { function page_profile(redirect = '/profile') {
if (document.getElementById('page_profile') === null) { if (document.getElementById('page_profile') === null) {
url = '/profile'
$.ajax({ $.ajax({
url: url, url: '/profile',
type: 'post', type: 'post',
dataType: 'json', dataType: 'json',
data: { '_csrf': yii.getCsrfToken() }, data: {
'_csrf': yii.getCsrfToken(),
redirect
},
success: menu_success, success: menu_success,
error: menu_error error: menu_error
}); });
@ -32,15 +34,16 @@ function page_profile() {
return false; return false;
}; };
function page_cart() { function page_cart(redirect = '/cart') {
if (document.getElementById('page_cart') === null) { if (document.getElementById('page_cart') === null) {
url = '/cart'
$.ajax({ $.ajax({
url: url, url: '/cart',
type: 'post', type: 'post',
dataType: 'json', dataType: 'json',
data: { '_csrf': yii.getCsrfToken() }, data: {
'_csrf': yii.getCsrfToken(),
redirect
},
success: menu_success, success: menu_success,
error: menu_error error: menu_error
}); });
@ -49,15 +52,16 @@ function page_cart() {
return false; return false;
}; };
function page_orders() { function page_orders(redirect = '/orders') {
if (document.getElementById('page_orders') === null) { if (document.getElementById('page_orders') === null) {
url = '/orders'
$.ajax({ $.ajax({
url: url, url: '/orders',
type: 'post', type: 'post',
dataType: 'json', dataType: 'json',
data: { '_csrf': yii.getCsrfToken() }, data: {
'_csrf': yii.getCsrfToken(),
redirect
},
success: menu_success, success: menu_success,
error: menu_error error: menu_error
}); });

View File

@ -125,7 +125,7 @@ function page_supplies_settings(form, warehouse, panel) {
return false; return false;
}; };
function page_profile_settings(form, panel) { function page_profile_settings(form, panel, redirect = '/profile') {
if (form == undefined) { if (form == undefined) {
form = { form = {
'_csrf': yii.getCsrfToken() '_csrf': yii.getCsrfToken()
@ -134,15 +134,24 @@ function page_profile_settings(form, panel) {
if (panel !== undefined) { if (panel !== undefined) {
form.panel = panel; form.panel = panel;
}; };
form.redirect = redirect;
} else { } else {
form = $(form).serializeArray(); form = $(form).serializeArray();
if (panel !== undefined) {
form.push({ form.push({
name: "panel", name: "panel",
value: panel value: panel
}); });
}; };
form.push({
name: "redirect",
value: redirect
});
};
$.ajax({ $.ajax({
url: '/profile', url: '/profile',
type: 'post', type: 'post',

View File

@ -290,7 +290,7 @@ function page_profile_panel_input_suppliers_requests_generate(suppliers) {
// Инициализация ярлыка "SIMC" (телефон) // Инициализация ярлыка "SIMC" (телефон)
let label_simc = document.createElement('label'); let label_simc = document.createElement('label');
label_simc.setAttribute('class', 'control-label'); label_simc.setAttribute('class', 'control-label');
label_simc.innerText = 'Номер'; label_simc.innerText = 'Телефон';
// Инициализация поля "SIMC" (телефон) // Инициализация поля "SIMC" (телефон)
let input_simc = document.createElement('input'); let input_simc = document.createElement('input');