From: vladfo Date: Fri, 20 Sep 2024 09:28:24 +0000 (+0300) Subject: Правки по приоритету и добавление участников X-Git-Tag: 1.5~5^2~9 X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=bb84e92934ede08a55b2cbebd153c12a2837b8a5;p=erp24_rep%2Fyii-erp24%2F.git Правки по приоритету и добавление участников --- diff --git a/erp24/records/Task.php b/erp24/records/Task.php index d3253e0f..e8135cc7 100644 --- a/erp24/records/Task.php +++ b/erp24/records/Task.php @@ -233,6 +233,35 @@ class Task extends \yii\db\ActiveRecord return $this->hasMany(Comment::class, ['entity_id' => 'id'])->onCondition(['=', 'entity', 'task']); } + public static function getPriorities() + { + return [ + 0 => ['label' => 'Очень низкий', 'color' => '#e0f7fa'], // светло-голубой + 1 => ['label' => 'Низкий', 'color' => '#b2ebf2'], // голубой + 2 => ['label' => 'Терпит', 'color' => '#80deea'], // бирюзовый + 3 => ['label' => 'Можно не спешить', 'color' => '#4dd0e1'], // яркий голубой + 4 => ['label' => 'Пониженный', 'color' => '#26c6da'], // более насыщенный бирюзовый + 5 => ['label' => 'Обычный', 'color' => '#00acc1'], // темно-бирюзовый + 6 => ['label' => 'Повышенный', 'color' => '#0097a7'], // темный циан + 7 => ['label' => 'Ниже среднего', 'color' => '#00838f'], // темный циан + 8 => ['label' => 'Средний', 'color' => '#006064'], // темный бирюзовый + 9 => ['label' => 'Высокий', 'color' => '#ffccbc'], // светло-оранжевый + 10 => ['label' => 'Самая важная', 'color' => '#ff5252'], // красный + ]; + } + + public function getPriorityLabel() + { + $priorities = self::getPriorities(); + return $priorities[$this->prioritet]['label'] ?? 'Не указан'; + } + + public function getPriorityColor() + { + $priorities = self::getPriorities(); + return $priorities[$this->prioritet]['color'] ?? '#ffffff'; // по умолчанию белый цвет + } + public function validateSaveAndManageImages() { if ($this->validate()) { $this->save(); diff --git a/erp24/views/crud/task/_form.php b/erp24/views/crud/task/_form.php index acaea75c..3bc56f37 100755 --- a/erp24/views/crud/task/_form.php +++ b/erp24/views/crud/task/_form.php @@ -116,6 +116,26 @@ $this->registerJsFile('/js/crud/task/update.js', ['position' => \yii\web\View::P )->label(false); ?> +
+ + field($model, 'prioritet')->dropDownList( + [ + 0 => 'Очень низкий', + 1 => 'Низкий', + 2 => 'Терпит', + 3 => 'Можно не спешить', + 4 => 'Пониженый', + 5 => 'Обычный', + 6 => 'Повышенный', + 7 => 'Ниже среднего', + 8 => 'Средний', + 9 => 'Высокий', + 10 => 'Самая важная' + ], + ['prompt' => 'Выберите приоритет'] // Опционально: можно добавить "пустую" опцию + )->label(false); ?> +
+
field($model, 'duration')->textInput(['type' => 'number', 'disabled' => !$canUpdateStatusAndDuration])->label(false); ?> @@ -137,7 +157,7 @@ $this->registerJsFile('/js/crud/task/update.js', ['position' => \yii\web\View::P 'template' => '{input}', 'clientOptions' => [ 'autoclose' => true, - 'format' => 'Y-m-d H:i', + 'format' => 'yyyy-mm-dd hh:ii', 'todayBtn' => true ], ])->label(false); ?> @@ -151,7 +171,7 @@ $this->registerJsFile('/js/crud/task/update.js', ['position' => \yii\web\View::P 'template' => '{input}', 'clientOptions' => [ 'autoclose' => true, - 'format' => 'Y-m-d H:i', + 'format' => 'yyyy-mm-dd hh:ii', 'todayBtn' => true ], ])->label(false); ?> diff --git a/erp24/views/crud/task/view.php b/erp24/views/crud/task/view.php index 56cffdea..a4b43a95 100755 --- a/erp24/views/crud/task/view.php +++ b/erp24/views/crud/task/view.php @@ -1,5 +1,6 @@ registerJsFile('/js/crud/task/update.js', ['position' => \yii\web\View::P Приоритет: - prioritet) ?> + + getPriorityLabel()) ?> + Исполнитель: @@ -129,6 +132,36 @@ $this->registerJsFile('/js/crud/task/update.js', ['position' => \yii\web\View::P Создатель: createdBy->name ?? '---') ?> + + + Участники: + + users, 'id', 'name'); // Получаем список участников + if (!empty($taskUsers)) { + echo Html::encode(implode(', ', $taskUsers)); // Выводим имена участников через запятую + } else { + echo '---'; // Если участников нет + } + ?> + + + + + + Наблюдатели: + + viewers, 'id', 'name'); // Получаем список наблюдателей + if (!empty($taskViewers)) { + echo Html::encode(implode(', ', $taskViewers)); // Выводим имена наблюдателей через запятую + } else { + echo '---'; // Если наблюдателей нет + } + ?> + + + Дата начала: data_start) ?> diff --git a/erp24/views/task/four-columns.php b/erp24/views/task/four-columns.php index aeba9908..4580fa11 100755 --- a/erp24/views/task/four-columns.php +++ b/erp24/views/task/four-columns.php @@ -77,8 +77,7 @@ if ($filterModel->company_function_id !== '0') {
- - 'btn btn-success', 'target' => '_blank', 'data-pjax' => '0']) ?> + 'btn btn-success', @@ -109,9 +108,7 @@ $defaultFilterValues = [ $form = ActiveForm::begin(['id' => 'filter-form']); ?> -field($filterModel, 'taskFilter')->radioList( - ['0' => 'Мои', '1' => 'На контроле', '2' => 'Участвую', '3' => 'Просматриваю', '4' => 'Неразобранные'], - ['class' => 'form-control', 'onchange' => '$("#filter-form").get(0).submit();'])->label(false)); */?> + field($filterModel, 'taskFilter')->radioList(