]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
[ERP-195] Добавлена возможность выбора графика работ для администраторов в admin...
authorAlexander Smirnov <fredeom@mail.ru>
Wed, 25 Sep 2024 11:33:56 +0000 (14:33 +0300)
committerAlexander Smirnov <fredeom@mail.ru>
Wed, 25 Sep 2024 11:33:56 +0000 (14:33 +0300)
erp24/actions/grade/AdminUpdateAction.php
erp24/migrations/m240925_095312_alter_table_admin_add_column_work_rate.php [new file with mode: 0755]
erp24/records/Admin.php
erp24/views/grade/admin-update.php

index 6fab23679e6c87f68d765f1fd3588fc8b29687c9..c4db7f36b7454bff746cdf394e6223d84b5849ac 100644 (file)
@@ -63,6 +63,7 @@ class AdminUpdateAction extends Action
                     unset($attributes['pol']);
                     unset($attributes['inn']);
                     unset($attributes['snils']);
+                    unset($attributes['work_rate']);
                 }
 
                 if (!Yii::$app->user->can("manageAvatarka", ['id' => $model->id])) {
diff --git a/erp24/migrations/m240925_095312_alter_table_admin_add_column_work_rate.php b/erp24/migrations/m240925_095312_alter_table_admin_add_column_work_rate.php
new file mode 100755 (executable)
index 0000000..5deea88
--- /dev/null
@@ -0,0 +1,28 @@
+<?php
+
+use yii\db\Migration;
+
+/**
+ * Class m240925_095312_alter_table_admin_add_column_work_rate
+ */
+class m240925_095312_alter_table_admin_add_column_work_rate extends Migration
+{
+    const TABLE_NAME = 'erp24.admin';
+
+    /**
+     * {@inheritdoc}
+     */
+    public function safeUp()
+    {
+        $this->addColumn(self::TABLE_NAME, 'work_rate', $this->tinyInteger()->null()->after('group_id')
+            ->comment('График работы для администраторов: 1 - 5/2, 2 - 2/2, 3 - 3/3'));
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function safeDown()
+    {
+        $this->dropColumn(self::TABLE_NAME, 'work_rate');
+    }
+}
index 6f6486f8f950484b5e26f6101b1e9b2510822bf1..658c06c7396c05aaa3125cbee18aef92b110683b 100755 (executable)
@@ -28,6 +28,7 @@ use yii_app\api3\core\validators\PhoneValidator;
  * @property string store_arr
  * @property string $popular_modules
  * @property string $guid
+ * @property int|null $work_rate График работы для администраторов: 1 - 5/2, 2 - 2/2, 3 - 3/3
  * @package yii_app\records
  */
 class Admin extends ActiveRecord implements IdentityInterface
@@ -103,7 +104,7 @@ class Admin extends ActiveRecord implements IdentityInterface
             [['guid', 'name', 'name_full', 'group_name', 'group_id', 'd_id', 'parent_admin_id', 'mentor_id', 'org_id', 'org_arr', 'login_user', 'pass_user', 'mobile', 'adress', 'description', 'adress_fakt', 'photo', 'avatarka', 'lasttime', 'sites_arr', 'city_arr', 'filial_id', 'city_id', 'store_arr', 'store_arr_guid', 'kassa_arr', 'kassa_default', 'sklad_arr', 'sklad_id', 'istochnik_arr', 'status_dostup_arr', 'birthdate', 'mesto_r', 'adress_prozhivaniya', 'adress_info', 'passport_nomer', 'passport_seriya', 'kem_vidan', 'data_passport', 'passport_kod_podrazdel', 'passport_srok_begin', 'passport_end', 'passport_mesto_rozhdeniya', 'inn', 'snils', 'vid_zanatosti', 'kol_deti', 'org_id_ustroen', 'summa_oklad', 'summa_oklad_nalog', 'tabel_number', 'data_priem', 'data_uval', 'ignor_post_arr', 'popular_modules', 'posit', 'group_id_last', 'remove_date', 'remove_admin_id'], 'required'],
             [['group_id', 'work_status', 'd_id', 'parent_admin_id', 'mentor_id', 'org_id', 'dostup', 'sites_dostup_all', 'city_dostup_all', 'filial_dostup_all', 'filial_id', 'city_id', 'store_id', 'store_dostup_all', 'kassa_dostup_all', 'kassa_default', 'sklad_dostup_all', 'sklad_id', 'istochnik_dostup_all', 'istochnik_id', 'avans_percent', 'kol_deti', 'org_id_ustroen', 'summa_oklad', 'summa_oklad_nalog', 'tabel_number', 'posit', 'group_id_last', 'remove_admin_id'], 'integer'],
             [['org_arr', 'adress', 'sites_arr', 'city_arr', 'store_arr', 'store_arr_guid', 'kassa_arr', 'sklad_arr', 'istochnik_arr', 'status_dostup_arr', 'mesto_r', 'adress_prozhivaniya', 'adress_info', 'kem_vidan', 'passport_mesto_rozhdeniya', 'pol', 'active', 'tip_ustroen', 'vcompany', 'ignor_post_arr', 'popular_modules'], 'string'],
-            [['lasttime', 'date_add', 'birthdate', 'data_passport', 'passport_srok_begin', 'passport_end', 'data_priem', 'data_uval', 'remove_date'], 'safe'],
+            [['lasttime', 'date_add', 'birthdate', 'data_passport', 'passport_srok_begin', 'passport_end', 'data_priem', 'data_uval', 'remove_date', 'work_rate'], 'safe'],
             [['sale_percent'], 'number'],
             [['guid'], 'string', 'max' => 36],
             [['name'], 'string', 'max' => 55],
@@ -207,6 +208,7 @@ class Admin extends ActiveRecord implements IdentityInterface
             'remove_date' => 'Remove Date',
             'remove_admin_id' => 'Remove Admin ID',
             'access_token' => 'Access Token',
+            'work_rate' => 'Work Rate',
         ];
     }
 
index 60a1cb0066e27f99a7ee7f69ef602e79f1485623..afd4561d66f400d45901a6b7528f418e9cbf69a4 100644 (file)
@@ -31,7 +31,7 @@ use yii_app\services\FileService;
 <div class="admin-form">
     <?php $form = ActiveForm::begin(); ?>
 
-    <?php PrintBlockHelper::printBlock('*Должность (группа)', $form->field($model, 'group_id')->dropDownList($adminGroups)->label(false)) ?>
+    <?php PrintBlockHelper::printBlock('*Должность (группа)', $form->field($model, 'group_id')->dropDownList($adminGroups, ['onchange' => 'changeWorkRateVisibility(this);'])->label(false)) ?>
     <?php
     if (!empty($adminHistoryCategories['group'])) {
         $adminHistoryCategory = $adminHistoryCategories['group'];
@@ -49,6 +49,10 @@ use yii_app\services\FileService;
 
     <?php PrintBlockHelper::printBlock('Должность', $form->field($model, 'group_name')->textInput(['maxlength' => true])->label(false)) ?>
 
+    <div id="workRate" style="display: <?= $model->group_id == \yii_app\records\AdminGroup::GROUP_ADMINISTRATORS ? 'block' : 'none'?>">
+        <?php PrintBlockHelper::printBlock('Рабочий график', $form->field($model, 'work_rate')->dropDownList([1 => '5/2', 2 => '2/2', 3 => '3/3'])->label(false)) ?>
+    </div>
+
     <?php PrintBlockHelper::printBlock('*Кто начальник? Руководитель', $form->field($model, 'parent_admin_id')->widget(Select2::class, [
         'data' => $admins,
         'language' => 'ru',
@@ -221,4 +225,12 @@ use yii_app\services\FileService;
     function toggleView(e) {
         $(e.target).parent().find('.toggleableVisibility').toggleClass('hidden');
     }
+
+    function changeWorkRateVisibility(t) {
+        if (t.value == 50) {
+            $('#workRate').show();
+        } else {
+            $('#workRate').hide();
+        }
+    }
 </script>
\ No newline at end of file