From 7d1d754815883720d16c46524c0683838756a1b8 Mon Sep 17 00:00:00 2001 From: vladfo Date: Tue, 24 Sep 2024 09:54:42 +0300 Subject: [PATCH] =?utf8?q?=D0=9F=D1=80=D0=BE=D1=81=D0=BC=D0=BE=D1=82=D1=80?= =?utf8?q?=20=D0=B7=D0=B0=D0=B4=D0=B0=D1=87=D0=B8=20=D0=B2=20=D0=BF=D0=BE?= =?utf8?q?=D0=BF=D0=B0=D0=BF=D0=B5=20=D0=BD=D0=B0=20=D1=81=D1=82=D1=80?= =?utf8?q?=D0=B0=D0=BD=D0=B8=D1=86=D0=B5=20=D0=94=D0=BE=D1=81=D0=BA=D0=B0?= =?utf8?q?=20=D0=B7=D0=B0=D0=B4=D0=B0=D1=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- erp24/controllers/crud/TaskController.php | 18 ++++++++- erp24/views/task/four-columns.php | 48 ++++++++++++++++++++++- 2 files changed, 63 insertions(+), 3 deletions(-) diff --git a/erp24/controllers/crud/TaskController.php b/erp24/controllers/crud/TaskController.php index 430a3da0..ced88065 100644 --- a/erp24/controllers/crud/TaskController.php +++ b/erp24/controllers/crud/TaskController.php @@ -90,17 +90,33 @@ class TaskController extends Controller $comment = new Comment; $comment->entity = 'task'; $comment->entity_id = $id; + if ($this->request->isPost && $comment->load($this->request->post())) { $comment->created_at = date('Y-m-d H:i:s'); $comment->created_by = Yii::$app->user->id; $comment->files = UploadedFile::getInstances($comment, 'files'); if ($comment->validateSaveAndManageImages()) { + if (Yii::$app->request->isAjax) { + // Возвращаем JSON в случае успешного добавления комментария через AJAX + return $this->asJson(['success' => true]); + } return $this->redirect(['view', 'id' => $id]); } } + $model = $this->findModel($id); + + if (Yii::$app->request->isAjax) { + // Если это AJAX-запрос, рендерим только содержимое для модального окна + return $this->renderAjax('view', [ + 'model' => $model, + 'comment' => $comment, + ]); + } + + // Обычный рендеринг страницы при стандартном запросе return $this->render('view', [ - 'model' => $this->findModel($id), + 'model' => $model, 'comment' => $comment, ]); } diff --git a/erp24/views/task/four-columns.php b/erp24/views/task/four-columns.php index 2dd87d02..aefe0aca 100755 --- a/erp24/views/task/four-columns.php +++ b/erp24/views/task/four-columns.php @@ -460,6 +460,39 @@ $(document).on('beforeSubmit', '#create-task-form', function(e) { return false; // Предотвращаем стандартную отправку формы }); + +$(document).ready(function() { + // Открытие модального окна для просмотра задачи + $('.view-task-button').on('click', function() { + var taskId = $(this).data('id'); + var viewTaskUrl = '/crud/task/view?id=' + taskId; // URL для запроса просмотра задачи + + // Загружаем данные через AJAX + $.get(viewTaskUrl, function(data) { + $('#view-task-content').html(data); // Вставляем HTML в модальное окно + $('#view-task-modal').fadeIn(); // Показываем модальное окно + + // Отключаем скролл body + $('body').addClass('no-scroll'); + }); + }); + + // Закрытие модального окна + $('.close').on('click', function() { + $('#view-task-modal').fadeOut(); + + // Включаем скролл body + $('body').removeClass('no-scroll'); + }); + + // Закрытие окна при клике вне содержимого + $(window).on('click', function(event) { + if ($(event.target).is('#view-task-modal')) { + $('#view-task-modal').fadeOut(); + $('body').removeClass('no-scroll'); + } + }); +}); JS; $this->registerJs($script); ?> @@ -489,8 +522,8 @@ JS; $taskName = Html::tag('small', $task->name, ['class'=>'small text-wrap']); ?> $task->id], - ['class' => 'btn btn-outline-primary', 'target' => '_blank', + null, + ['class' => 'btn btn-outline-primary view-task-button', 'data-id' => $task->id, 'style' => 'text-overflow: ellipsis; overflow: hidden;']) ?> updated_by)): ?> @@ -526,3 +559,14 @@ JS; + + + -- 2.39.5