Доработка панели модератора
This commit is contained in:
parent
3cb2aa1a15
commit
a36f62e510
|
@ -58,8 +58,9 @@ class ProfileController extends Controller
|
|||
'actions' => ['panel', 'panel-notification-write'],
|
||||
'matchCallback' => function ($rule, $action): bool {
|
||||
if (
|
||||
yii::$app->user->identity->type === 'administrator'
|
||||
|| yii::$app->user->identity->type === 'moderator'
|
||||
!yii::$app->user->isGuest
|
||||
&& (yii::$app->user->identity->type === 'administrator'
|
||||
|| yii::$app->user->identity->type === 'moderator')
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -149,6 +149,24 @@ main {
|
|||
transition: 0s;
|
||||
}
|
||||
|
||||
.button_red_softer {
|
||||
color: #eee;
|
||||
background-color: #ce2c2c;
|
||||
transition: 0s;
|
||||
}
|
||||
|
||||
.button_red_softer:hover {
|
||||
color: #fff;
|
||||
background-color: #da3636;
|
||||
transition: 0s;
|
||||
}
|
||||
|
||||
.button_red_softer:active {
|
||||
color: #ddd;
|
||||
background-color: #b82d2d;
|
||||
transition: 0s;
|
||||
}
|
||||
|
||||
.button_white {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
|
|
@ -25,8 +25,11 @@
|
|||
background-color: #f7f6f9;
|
||||
}
|
||||
|
||||
#page_profile [id^=profile_panel_]>.profile_panel_content #profile_panel_input_suppliers_requests .panel_supplier_request {
|
||||
height: 200px;
|
||||
#page_profile [id^=profile_panel_]>.profile_panel_content #profile_panel_input_suppliers_requests .panel_supplier_request .profile_panel_input_suppliers_requests_block_textarea {
|
||||
min-height: 100px;
|
||||
display: inline-block;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
/* #page_profile [id^=profile_panel_]>.profile_panel_content>div>.header_blue~.row:nth-child(2n + 1) {
|
||||
|
|
|
@ -102,6 +102,9 @@ function page_profile_panel_input_suppliers_requests_init(wrap = 'profile_panel_
|
|||
if (data.suppliers !== undefined && data.suppliers !== null) {
|
||||
// Найдены данные поставщиков
|
||||
|
||||
// Удаление данных в оболочке
|
||||
wrap.innerHTML = null;
|
||||
|
||||
for (let html of page_profile_panel_input_suppliers_requests_generate(data.suppliers)) {
|
||||
// Перебор сгенерированных HTML-элементов
|
||||
|
||||
|
@ -136,12 +139,16 @@ function page_profile_panel_input_suppliers_requests_generate(suppliers) {
|
|||
// Инициализация контейнера
|
||||
let container = document.createElement('div');
|
||||
container.setAttribute('id', 'profile_panel_input_suppliers_requests_block_' + account._key);
|
||||
container.setAttribute('class', i < suppliers.length ? 'mb-3 px-3 py-1 row' : 'px-3 py-1 row');
|
||||
container.setAttribute('class', i < suppliers.length ? 'mb-3 px-3 py-1 row panel_supplier_request' : 'px-3 py-1 row panel_supplier_request');
|
||||
|
||||
// Инициализация первой строки
|
||||
let row_1 = document.createElement('div');
|
||||
row_1.setAttribute('class', 'row px-0');
|
||||
|
||||
// Инициализация колонки с метаданными аккаунта
|
||||
let block_metadata = document.createElement('div');
|
||||
block_metadata.setAttribute('id', 'profile_panel_input_suppliers_requests_block_metadata_' + account._key);
|
||||
block_metadata.setAttribute('class', 'col-4 pl-0 d-flex flex-column');
|
||||
block_metadata.setAttribute('class', 'col-4 pr-0 d-flex flex-column');
|
||||
|
||||
// Инициализация оболочки идентификатора аккаунта
|
||||
let wrap_id = document.createElement('p');
|
||||
|
@ -157,9 +164,13 @@ function page_profile_panel_input_suppliers_requests_generate(suppliers) {
|
|||
value_id.setAttribute('class', 'ml-auto');
|
||||
value_id.innerText = account._key;
|
||||
|
||||
// Инициализация разделителя для даты
|
||||
let metadata_date_divider = document.createElement('div');
|
||||
metadata_date_divider.setAttribute('class', 'dropdown-divider mt-auto mx-2 mb-2');
|
||||
|
||||
// Инициализация оболочки времени регистрации
|
||||
let wrap_regs = document.createElement('p');
|
||||
wrap_regs.setAttribute('class', 'mt-auto mb-2 px-3 row');
|
||||
wrap_regs.setAttribute('class', 'mt-1 mb-2 px-3 row');
|
||||
|
||||
// Инициализация ярлыка времени регистрации
|
||||
let label_regs = document.createElement('b');
|
||||
|
@ -173,7 +184,7 @@ function page_profile_panel_input_suppliers_requests_generate(suppliers) {
|
|||
|
||||
// Инициализация оболочки времени заявки
|
||||
let wrap_supl = document.createElement('p');
|
||||
wrap_supl.setAttribute('class', 'mt-0 mb-2 px-3 row');
|
||||
wrap_supl.setAttribute('class', 'mt-0 mb-3 px-3 row');
|
||||
|
||||
// Инициализация ярлыка времени заявки
|
||||
let label_supl = document.createElement('b');
|
||||
|
@ -185,30 +196,52 @@ function page_profile_panel_input_suppliers_requests_generate(suppliers) {
|
|||
value_supl.setAttribute('class', 'ml-auto');
|
||||
value_supl.innerText = moment.unix(account.date.supl).locale('ru-ru').format('DD.MM.YYYY');
|
||||
|
||||
// Инициализация кнопки сохранения
|
||||
let button_save = document.createElement('a');
|
||||
button_save.setAttribute('class', 'btn form-control button_blue');
|
||||
button_save.setAttribute('type', 'button');
|
||||
button_save.setAttribute('role', 'button');
|
||||
button_save.innerText = 'Сохранить';
|
||||
// Инициализация кнопки подтверждения
|
||||
let button_accept = document.createElement('a');
|
||||
button_accept.setAttribute('class', 'mb-2 btn form-control button_blue');
|
||||
button_accept.setAttribute('type', 'button');
|
||||
button_accept.setAttribute('role', 'button');
|
||||
button_accept.innerText = 'Подтвердить';
|
||||
|
||||
// Инициализация кнопки отклонения
|
||||
let button_decline = document.createElement('a');
|
||||
button_decline.setAttribute('class', 'btn form-control button_red_softer');
|
||||
button_decline.setAttribute('type', 'button');
|
||||
button_decline.setAttribute('role', 'button');
|
||||
button_decline.innerText = 'Отклонить';
|
||||
|
||||
// Инициализация колонки с основными данными аккаунта
|
||||
let block_info = document.createElement('div');
|
||||
block_info.setAttribute('id', 'profile_panel_input_suppliers_requests_block_info_' + account._key);
|
||||
block_info.setAttribute('class', 'col-4 d-flex flex-column');
|
||||
block_info.setAttribute('class', 'col-4 pl-0 d-flex flex-column');
|
||||
|
||||
// Инициализация ярлыка "NAME"
|
||||
let label_name = document.createElement('label');
|
||||
label_name.setAttribute('class', 'control-label');
|
||||
label_name.innerText = 'Имя';
|
||||
label_name.innerText = 'Контактное лицо';
|
||||
|
||||
// Инициализация поля "NAME"
|
||||
let input_name = document.createElement('input');
|
||||
input_name.setAttribute('id', 'profile_panel_input_suppliers_requests_block_info_name_' + account._key);
|
||||
input_name.setAttribute('class', 'form-control button_clean mb-3');
|
||||
input_name.setAttribute('type', 'text');
|
||||
input_name.setAttribute('placeholder', 'Иванов Иван Иванович');
|
||||
input_name.setAttribute('onchange', 'return profile_panel_input_suppliers_requests_block_name_edit(' + account._key + ', this);');
|
||||
input_name.value = account.name;
|
||||
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', 'profile_panel_input_suppliers_requests_block_info_boss_' + account._key);
|
||||
input_boss.setAttribute('class', 'form-control button_clean mb-3');
|
||||
input_boss.setAttribute('type', 'text');
|
||||
input_boss.setAttribute('placeholder', 'Иванов Иван Иванович');
|
||||
input_boss.setAttribute('onchange', 'return profile_panel_input_suppliers_requests_block_boss_edit(' + account._key + ', this);');
|
||||
input_boss.value = account.boss ?? '';
|
||||
|
||||
// Инициализация ярлыка "SIMC" (телефон)
|
||||
let label_simc = document.createElement('label');
|
||||
|
@ -221,7 +254,7 @@ function page_profile_panel_input_suppliers_requests_generate(suppliers) {
|
|||
input_simc.setAttribute('class', 'form-control button_clean mb-3');
|
||||
input_simc.setAttribute('type', 'number');
|
||||
input_simc.setAttribute('onchange', 'return profile_panel_input_suppliers_requests_block_simc_edit(' + account._key + ', this);');
|
||||
input_simc.value = account.simc;
|
||||
input_simc.value = account.simc ?? '';
|
||||
|
||||
// Инициализация ярлыка "MAIL"
|
||||
let label_mail = document.createElement('label');
|
||||
|
@ -231,15 +264,15 @@ function page_profile_panel_input_suppliers_requests_generate(suppliers) {
|
|||
// Инициализация поля "MAIL"
|
||||
let input_mail = document.createElement('input');
|
||||
input_mail.setAttribute('id', 'profile_panel_input_suppliers_requests_block_info_mail_' + account._key);
|
||||
input_mail.setAttribute('class', 'form-control button_clean');
|
||||
input_mail.setAttribute('class', 'form-control button_clean mb-3');
|
||||
input_mail.setAttribute('type', 'mail');
|
||||
input_mail.setAttribute('onchange', 'return profile_panel_input_suppliers_requests_block_mail_edit(' + account._key + ', this);');
|
||||
input_mail.value = account.mail;
|
||||
input_mail.value = account.mail ?? '';
|
||||
|
||||
// Инициализация колонки с вторичными данными аккаунта
|
||||
let block_details = document.createElement('div');
|
||||
block_details.setAttribute('id', 'profile_panel_input_suppliers_requests_block_details_' + account._key);
|
||||
block_details.setAttribute('class', 'col-4 pr-0 d-flex flex-column');
|
||||
block_details.setAttribute('class', 'col-4 d-flex flex-column');
|
||||
|
||||
// Инициализация ярлыка "INDX"
|
||||
let label_indx = document.createElement('label');
|
||||
|
@ -256,7 +289,7 @@ function page_profile_panel_input_suppliers_requests_generate(suppliers) {
|
|||
input_indx.setAttribute('class', 'col form-control button_clean');
|
||||
input_indx.setAttribute('type', 'text');
|
||||
input_indx.setAttribute('onchange', 'return profile_panel_input_suppliers_requests_block_indx_edit(' + account._key + ', this);');
|
||||
input_indx.value = account.indx;
|
||||
input_indx.value = account.indx ?? '';
|
||||
|
||||
// Инициализация кнопки "INDX"
|
||||
let button_indx = document.createElement('a');
|
||||
|
@ -280,7 +313,7 @@ function page_profile_panel_input_suppliers_requests_generate(suppliers) {
|
|||
input_pswd.setAttribute('class', 'col form-control button_clean');
|
||||
input_pswd.setAttribute('type', 'text');
|
||||
input_pswd.setAttribute('onchange', 'return profile_panel_input_suppliers_requests_block_pswd_edit(' + account._key + ', this);');
|
||||
input_pswd.value = account.pswd;
|
||||
input_pswd.value = account.pswd ?? '';
|
||||
|
||||
// Инициализация кнопки "PSWD"
|
||||
let button_pswd = document.createElement('a');
|
||||
|
@ -300,42 +333,206 @@ function page_profile_panel_input_suppliers_requests_generate(suppliers) {
|
|||
button_file.setAttribute('href', '/' + account._key + '/requests/supplier/' + account.date.supl + '/document');
|
||||
button_file.innerHTML = 'Скачать';
|
||||
|
||||
// Компоновка элементов блока с основной информацией
|
||||
wrap_id.appendChild(label_id);
|
||||
wrap_id.appendChild(value_id);
|
||||
block_metadata.appendChild(wrap_id);
|
||||
wrap_regs.appendChild(label_regs);
|
||||
wrap_regs.appendChild(value_regs);
|
||||
block_metadata.appendChild(wrap_regs);
|
||||
wrap_supl.appendChild(label_supl);
|
||||
wrap_supl.appendChild(value_supl);
|
||||
block_metadata.appendChild(wrap_supl);
|
||||
block_metadata.appendChild(button_save);
|
||||
// Инициализация ярлыка "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', 'profile_panel_input_suppliers_requests_block_info_taxn_' + account._key);
|
||||
input_taxn.setAttribute('class', 'form-control button_clean mb-3');
|
||||
input_taxn.setAttribute('type', 'text');
|
||||
input_taxn.setAttribute('onchange', 'return profile_panel_input_suppliers_requests_block_taxn_edit(' + account._key + ', this);');
|
||||
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', 'profile_panel_input_suppliers_requests_block_info_cntg_' + account._key);
|
||||
input_cntg.setAttribute('class', 'form-control button_clean mb-3');
|
||||
input_cntg.setAttribute('type', 'text');
|
||||
input_cntg.setAttribute('onchange', 'return profile_panel_input_suppliers_requests_block_cntg_edit(' + account._key + ', this);');
|
||||
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', 'profile_panel_input_suppliers_requests_block_info_fadd_' + account._key);
|
||||
input_fadd.setAttribute('class', 'form-control button_clean mb-3');
|
||||
input_fadd.setAttribute('type', 'text');
|
||||
input_fadd.setAttribute('onchange', 'return profile_panel_input_suppliers_requests_block_fadd_edit(' + account._key + ', this);');
|
||||
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', 'profile_panel_input_suppliers_requests_block_info_ladd_' + account._key);
|
||||
input_ladd.setAttribute('class', 'form-control button_clean mb-3');
|
||||
input_ladd.setAttribute('type', 'text');
|
||||
input_ladd.setAttribute('onchange', 'return profile_panel_input_suppliers_requests_block_ladd_edit(' + account._key + ', this);');
|
||||
input_ladd.value = account.ladd ?? '';
|
||||
|
||||
// Инициализация ярлыка "CHCK"
|
||||
let label_chck = document.createElement('label');
|
||||
label_chck.setAttribute('class', 'control-label');
|
||||
label_chck.innerText = 'Расчетный адрес';
|
||||
|
||||
// Инициализация поля "CHCK"
|
||||
let input_chck = document.createElement('input');
|
||||
input_chck.setAttribute('id', 'profile_panel_input_suppliers_requests_block_info_chck_' + account._key);
|
||||
input_chck.setAttribute('class', 'form-control button_clean mb-3');
|
||||
input_chck.setAttribute('type', 'text');
|
||||
input_chck.setAttribute('onchange', 'return profile_panel_input_suppliers_requests_block_chck_edit(' + account._key + ', this);');
|
||||
input_chck.value = account.chck ?? '';
|
||||
|
||||
// Инициализация ярлыка "CMPN"
|
||||
let label_cmpn = document.createElement('label');
|
||||
label_cmpn.setAttribute('class', 'control-label');
|
||||
label_cmpn.innerText = 'Организация';
|
||||
|
||||
// Инициализация поля "CMPN"
|
||||
let input_cmpn = document.createElement('input');
|
||||
input_cmpn.setAttribute('id', 'profile_panel_input_suppliers_requests_block_info_cmpn_' + account._key);
|
||||
input_cmpn.setAttribute('class', 'form-control button_clean mb-3');
|
||||
input_cmpn.setAttribute('type', 'text');
|
||||
input_cmpn.setAttribute('onchange', 'return profile_panel_input_suppliers_requests_block_cmpn_edit(' + account._key + ', this);');
|
||||
input_cmpn.value = account.cmpn ?? '';
|
||||
|
||||
// Инициализация ярлыка "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', 'profile_panel_input_suppliers_requests_block_info_cntc_' + account._key);
|
||||
input_cntc.setAttribute('class', 'form-control button_clean profile_panel_input_suppliers_requests_block_textarea');
|
||||
input_cntc.setAttribute('type', 'text');
|
||||
input_cntc.setAttribute('onchange', 'return profile_panel_input_suppliers_requests_block_cntc_edit(' + account._key + ', this);');
|
||||
input_cntc.value = account.cntc ?? '';
|
||||
|
||||
// Инициализация ярлыка "DESC"
|
||||
let label_desc = document.createElement('label');
|
||||
label_desc.setAttribute('class', 'control-label');
|
||||
label_desc.innerText = 'Описание';
|
||||
|
||||
// Инициализация поля "DESC"
|
||||
let textarea_desc = document.createElement('textarea');
|
||||
textarea_desc.setAttribute('id', 'profile_panel_input_suppliers_requests_block_info_desc_' + account._key);
|
||||
textarea_desc.setAttribute('class', 'form-control button_clean mb-3 profile_panel_input_suppliers_requests_block_textarea');
|
||||
textarea_desc.setAttribute('type', 'text');
|
||||
textarea_desc.setAttribute('onchange', 'return profile_panel_input_suppliers_requests_block_desc_edit(' + account._key + ', this);');
|
||||
textarea_desc.value = account.desc ?? '';
|
||||
|
||||
// Инициализация разделителя для геолокации
|
||||
let metadata_geolocation_divider = document.createElement('div');
|
||||
metadata_geolocation_divider.setAttribute('class', 'dropdown-divider mx-2 mb-2');
|
||||
|
||||
// Инициализация оболочки найденного по геолокации города
|
||||
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_details.appendChild(label_indx);
|
||||
block_info.appendChild(label_indx);
|
||||
wrap_indx.appendChild(input_indx);
|
||||
wrap_indx.appendChild(button_indx);
|
||||
block_details.appendChild(wrap_indx);
|
||||
block_details.appendChild(label_pswd);
|
||||
block_info.appendChild(wrap_indx);
|
||||
|
||||
block_info.appendChild(label_pswd);
|
||||
wrap_pswd.appendChild(input_pswd);
|
||||
wrap_pswd.appendChild(button_pswd);
|
||||
block_details.appendChild(wrap_pswd);
|
||||
block_details.appendChild(label_file);
|
||||
block_details.appendChild(button_file);
|
||||
block_info.appendChild(wrap_pswd);
|
||||
|
||||
block_info.appendChild(label_desc);
|
||||
block_info.appendChild(textarea_desc);
|
||||
|
||||
block_info.appendChild(label_file);
|
||||
block_info.appendChild(button_file);
|
||||
|
||||
// Компоновка элементов блока с вторичными данными
|
||||
block_details.appendChild(label_boss);
|
||||
block_details.appendChild(input_boss);
|
||||
|
||||
block_details.appendChild(label_cmpn);
|
||||
block_details.appendChild(input_cmpn);
|
||||
|
||||
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);
|
||||
|
||||
block_details.appendChild(label_chck);
|
||||
block_details.appendChild(input_chck);
|
||||
|
||||
block_details.appendChild(label_cntc);
|
||||
block_details.appendChild(input_cntc);
|
||||
|
||||
// Компоновка элементов блока с технической информацией
|
||||
wrap_id.appendChild(label_id);
|
||||
wrap_id.appendChild(value_id);
|
||||
block_metadata.appendChild(wrap_id);
|
||||
|
||||
block_metadata.appendChild(metadata_geolocation_divider);
|
||||
wrap_city.appendChild(label_city);
|
||||
wrap_city.appendChild(value_city);
|
||||
block_metadata.appendChild(wrap_city);
|
||||
|
||||
|
||||
block_metadata.appendChild(metadata_date_divider);
|
||||
wrap_regs.appendChild(label_regs);
|
||||
wrap_regs.appendChild(value_regs);
|
||||
block_metadata.appendChild(wrap_regs);
|
||||
|
||||
wrap_supl.appendChild(label_supl);
|
||||
wrap_supl.appendChild(value_supl);
|
||||
block_metadata.appendChild(wrap_supl);
|
||||
|
||||
block_metadata.appendChild(button_accept);
|
||||
block_metadata.appendChild(button_decline);
|
||||
|
||||
// Компоновка всех колонок
|
||||
container.appendChild(block_metadata);
|
||||
container.appendChild(block_info);
|
||||
container.appendChild(block_details);
|
||||
container.appendChild(block_metadata);
|
||||
|
||||
html.add(container);
|
||||
|
||||
|
|
Reference in New Issue