Социальный педагог

This commit is contained in:
2026-02-25 11:11:31 +05:00
parent 6820550cbd
commit 6f816f0685
6 changed files with 41 additions and 14 deletions

View File

@@ -122,6 +122,7 @@
<option value="ahch">АХЧ</option> <option value="ahch">АХЧ</option>
<option value="psychologist">Психолог</option> <option value="psychologist">Психолог</option>
<option value="speech_therapist">Логопед</option> <option value="speech_therapist">Логопед</option>
<option value="Social_educator">Социальный педагог</option>
<option value="hr">Диспетчер расписания</option> <option value="hr">Диспетчер расписания</option>
<option value="certificate">Справка</option> <option value="certificate">Справка</option>
<option value="e_journal">Эл. журнал</option> <option value="e_journal">Эл. журнал</option>
@@ -173,18 +174,11 @@
<button type="button" class="task-type-btn active" data-type="regular" onclick="selectTaskType('regular')"><i class="fas fa-tasks"></i> Обычная задача</button> <button type="button" class="task-type-btn active" data-type="regular" onclick="selectTaskType('regular')"><i class="fas fa-tasks"></i> Обычная задача</button>
<button type="button" class="task-type-btn" data-type="document" onclick="selectTaskType('document')"><i class="fas fa-file-signature"></i> Согласование документа</button> <button type="button" class="task-type-btn" data-type="document" onclick="selectTaskType('document')"><i class="fas fa-file-signature"></i> Согласование документа</button>
<button type="button" class="task-type-btn" data-type="it" onclick="selectTaskType('it')"><i class="fas fa-desktop"></i> Заявка в ИТ отдел</button> <button type="button" class="task-type-btn" data-type="it" onclick="selectTaskType('it')"><i class="fas fa-desktop"></i> Заявка в ИТ отдел</button>
<button type="button" class="task-type-btn" data-type="ahch" onclick="selectTaskType('ahch')"> <button type="button" class="task-type-btn" data-type="ahch" onclick="selectTaskType('ahch')"><i class="fas fa-tools"></i> Заявка в АХЧ</button>
<i class="fas fa-tools"></i> Заявка в АХЧ <button type="button" class="task-type-btn" data-type="psychologist" onclick="selectTaskType('psychologist')"><i class="fas fa-brain"></i> Заявка к психологу</button>
</button> <button type="button" class="task-type-btn" data-type="speech_therapist" onclick="selectTaskType('speech_therapist')"><i class="fas fa-comment-medical"></i> Заявка к логопеду</button>
<button type="button" class="task-type-btn" data-type="psychologist" onclick="selectTaskType('psychologist')"> <button type="button" class="task-type-btn" data-type="psychologist" onclick="selectTaskType('Social_educator')"><i class="fas fa-user-graduate"></i> Социальный педагог</button>
<i class="fas fa-brain"></i> Заявка к психологу <button type="button" class="task-type-btn" data-type="hr" onclick="selectTaskType('hr')"><i class="fas fa-users"></i> Заявка диспетчеру расписания</button>
</button>
<button type="button" class="task-type-btn" data-type="speech_therapist" onclick="selectTaskType('speech_therapist')">
<i class="fas fa-comment-medical"></i> Заявка к логопеду
</button>
<button type="button" class="task-type-btn" data-type="hr" onclick="selectTaskType('hr')">
<i class="fas fa-users"></i> Заявка диспетчеру расписания
</button>
<button type="button" class="task-type-btn" data-type="certificate" onclick="selectTaskType('certificate')"> <button type="button" class="task-type-btn" data-type="certificate" onclick="selectTaskType('certificate')">
<i class="fas fa-book"></i> Заявка на справку <i class="fas fa-book"></i> Заявка на справку
</button> </button>

View File

@@ -386,6 +386,7 @@ function getTaskTypeDisplayName(type) {
'ahch': 'АХЧ', 'ahch': 'АХЧ',
'psychologist': 'Психолог', 'psychologist': 'Психолог',
'speech_therapist': 'Логопед', 'speech_therapist': 'Логопед',
'Social_educator': 'Социальный педагог',
'hr': 'Диспетчер расписания', 'hr': 'Диспетчер расписания',
'certificate': 'Справка', 'certificate': 'Справка',
'e_journal': 'Эл. журнал' 'e_journal': 'Эл. журнал'

View File

@@ -255,6 +255,22 @@ async function createTask(event) {
} }
} }
} }
// Дополнительная проверка для задач типа "Social_educator"
if (taskType === 'Social_educator' && selectedUsers.length > 0) {
// Проверяем, что все выбранные пользователи - Social_educator
for (const userId of selectedUsers) {
const groups = await getUserGroups(userId);
const hasSecretaryGroup = groups.some(group =>
group.name === 'Социальный педагог' ||
(typeof group === 'string' && group.includes('Социальный педагог'))
);
if (!hasSecretaryGroup) {
alert('Для задачи можно выбирать только пользователей из группы "Социальный педагог"');
return;
}
}
}
const formData = new FormData(); const formData = new FormData();
formData.append('title', title); formData.append('title', title);
formData.append('description', description); formData.append('description', description);

View File

@@ -65,6 +65,13 @@ const TasksType = (function() {
icon: '📊', icon: '📊',
badgeClass: 'e_journal', badgeClass: 'e_journal',
emptyMessage: 'Нет задач по ЭЖ' emptyMessage: 'Нет задач по ЭЖ'
},
'Social_educator': {
endpoint: '/api/tasks_by_type?task_type=Social_educator',
title: 'Социальный педагог',
icon: '📊',
badgeClass: 'Social_educator',
emptyMessage: 'Нет задач по Социальный педагог'
} }
}; };

View File

@@ -1073,12 +1073,13 @@ async function selectTaskType(type) {
try { try {
if (type === 'document') { if (type === 'document') {
await reloadUsersForDocumentType(); await reloadUsersForDocumentType();
} else if (['it', 'ahch', 'psychologist', 'speech_therapist', 'hr', 'certificate', 'e_journal'].includes(type)) { } else if (['it', 'ahch', 'psychologist', 'speech_therapist', 'Social_educator', 'hr', 'certificate', 'e_journal'].includes(type)) {
const groupNames = { const groupNames = {
'it': 'ИТ специалист', 'it': 'ИТ специалист',
'ahch': 'АХЧ', 'ahch': 'АХЧ',
'psychologist': 'психолог', 'psychologist': 'психолог',
'speech_therapist': 'логопед', 'speech_therapist': 'логопед',
'Social_educator': 'Социальный педагог',
'hr': 'Диспетчер', 'hr': 'Диспетчер',
'certificate': 'Администрация', 'certificate': 'Администрация',
'e_journal': 'Админ ЭЖ' 'e_journal': 'Админ ЭЖ'
@@ -1189,6 +1190,7 @@ function suggestDefaultTitle(type) {
'ahch': 'Заявка в АХЧ: ', 'ahch': 'Заявка в АХЧ: ',
'psychologist': 'Заявка к психологу: ', 'psychologist': 'Заявка к психологу: ',
'speech_therapist': 'Заявка к логопеду: ', 'speech_therapist': 'Заявка к логопеду: ',
'Social_educator': 'Заявка к cоциальному педагогу: ',
'hr': 'Заявка диспетчеру расписания: ', 'hr': 'Заявка диспетчеру расписания: ',
'certificate': 'Заявка на получение справки: ', 'certificate': 'Заявка на получение справки: ',
'e_journal': 'Заявка на доступ в электронный журнал: ' 'e_journal': 'Заявка на доступ в электронный журнал: '
@@ -1209,6 +1211,7 @@ function updateTaskFormBasedOnType(type) {
'ahch': 'Поиск АХЧ сотрудников...', 'ahch': 'Поиск АХЧ сотрудников...',
'psychologist': 'Поиск психологов...', 'psychologist': 'Поиск психологов...',
'speech_therapist': 'Поиск логопедов...', 'speech_therapist': 'Поиск логопедов...',
'Social_educator': 'Поиск cоциальных педагогов...: ',
'hr': 'Поиск сотрудников кадровой службы...', 'hr': 'Поиск сотрудников кадровой службы...',
'certificate': 'Поиск секретаря/завуча...', 'certificate': 'Поиск секретаря/завуча...',
'e_journal': 'Поиск администратора электронного журнала...' 'e_journal': 'Поиск администратора электронного журнала...'
@@ -1226,6 +1229,7 @@ function updateTaskFormBasedOnType(type) {
'ahch': 'Доступны сотрудники АХЧ', 'ahch': 'Доступны сотрудники АХЧ',
'psychologist': 'Доступны психологи', 'psychologist': 'Доступны психологи',
'speech_therapist': 'Доступны логопеды', 'speech_therapist': 'Доступны логопеды',
'Social_educator': 'Доступны cоциальные педагоги: ',
'hr': 'Доступны сотрудники кадровой службы', 'hr': 'Доступны сотрудники кадровой службы',
'certificate': 'Доступны секретари и завучи', 'certificate': 'Доступны секретари и завучи',
'e_journal': 'Доступны администраторы электронного журнала' 'e_journal': 'Доступны администраторы электронного журнала'
@@ -1270,6 +1274,7 @@ function getTaskTypeName(type) {
'ahch': 'описание заявки', 'ahch': 'описание заявки',
'psychologist': 'повод для обращения к психологу', 'psychologist': 'повод для обращения к психологу',
'speech_therapist': 'повод для обращения к логопеду', 'speech_therapist': 'повод для обращения к логопеду',
'Social_educator': 'повод для обращения к cоциальному педагогу: ',
'hr': 'вопрос к кадровой службе', 'hr': 'вопрос к кадровой службе',
'certificate': 'тип необходимой справки', 'certificate': 'тип необходимой справки',
'e_journal': 'информацию для доступа к журналу' 'e_journal': 'информацию для доступа к журналу'
@@ -1285,6 +1290,7 @@ function getTaskTypeDisplayName(type) {
'ahch': 'АХЧ', 'ahch': 'АХЧ',
'psychologist': 'Психолог', 'psychologist': 'Психолог',
'speech_therapist': 'Логопед', 'speech_therapist': 'Логопед',
'Social_educator': 'Социальный педагог: ',
'hr': 'Кадры', 'hr': 'Кадры',
'certificate': 'Справка', 'certificate': 'Справка',
'e_journal': 'Эл. журнал' 'e_journal': 'Эл. журнал'
@@ -1300,6 +1306,7 @@ function getTaskTypeIcon(type) {
'ahch': 'fas fa-tools', 'ahch': 'fas fa-tools',
'psychologist': 'fas fa-brain', 'psychologist': 'fas fa-brain',
'speech_therapist': 'fas fa-comment-medical', 'speech_therapist': 'fas fa-comment-medical',
'Social_educator': 'fas fa-brain',
'hr': 'fas fa-users', 'hr': 'fas fa-users',
'certificate': 'fas fa-file-certificate', 'certificate': 'fas fa-file-certificate',
'e_journal': 'fas fa-book' 'e_journal': 'fas fa-book'

View File

@@ -160,7 +160,7 @@ async function filterUsers() {
try { try {
if (taskType === 'document' || taskType === 'it' || taskType === 'ahch' || if (taskType === 'document' || taskType === 'it' || taskType === 'ahch' ||
taskType === 'psychologist' || taskType === 'speech_therapist' || taskType === 'psychologist' || taskType === 'speech_therapist' || taskType === 'Social_educator' ||
taskType === 'hr' || taskType === 'certificate' || taskType === 'e_journal') { taskType === 'hr' || taskType === 'certificate' || taskType === 'e_journal') {
// Фильтруем по поиску // Фильтруем по поиску
@@ -178,6 +178,7 @@ async function filterUsers() {
'ahch': 'АХЧ', 'ahch': 'АХЧ',
'psychologist': 'психолог', 'psychologist': 'психолог',
'speech_therapist': 'логопед', 'speech_therapist': 'логопед',
'Social_educator': 'Социальный педагог',
'hr': 'Диспетчер', 'hr': 'Диспетчер',
'certificate': 'Администрация', 'certificate': 'Администрация',
'e_journal': 'Админ ЭЖ' 'e_journal': 'Админ ЭЖ'
@@ -325,6 +326,7 @@ function getUserTypeLabel(user, taskType) {
'ahch': '(АХЧ)', 'ahch': '(АХЧ)',
'psychologist': '(Психолог)', 'psychologist': '(Психолог)',
'speech_therapist': '(Логопед)', 'speech_therapist': '(Логопед)',
'Social_educator': '(Социальный педагог)',
'hr': '(Диспетчер)', 'hr': '(Диспетчер)',
'certificate': '(Администрация)', 'certificate': '(Администрация)',
'e_journal': '(Админ ЭЖ)' 'e_journal': '(Админ ЭЖ)'