From 308115f7294d13bd35555462a66eadad4e904e14 Mon Sep 17 00:00:00 2001 From: panliang <1163816051@qq.com> Date: Thu, 28 Mar 2024 10:42:51 +0800 Subject: [PATCH] admin employee.store_id --- README.md | 29 +++++++++++++++---- .../Controllers/Store/EmployeeController.php | 6 ++-- app/Admin/Services/StoreService.php | 8 ++++- app/Models/Employee.php | 8 ++--- database/factories/StoreFactory.php | 2 +- ...24_03_22_091409_create_employees_table.php | 2 +- 6 files changed, 40 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 0d8bbdf..feb18ba 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,26 @@ # 彩票门店管理 -composer install -php artisan g:k -php artisan storage:link -php artisan admin:install -php artisan db:seed \ No newline at end of file +## Require + +- php >= 8.1 && composer +- mysql >= 8.0 +- nginx or apache + +## Steup + +- `git clone gitea@gitea.hmily.club:pdkj/store-manage.git` +- `cd store-manage` +- `composer install` +- `cp .env.example .env` +- `php artisan key:generate` +- `php artisan storage:link` +- `vim .env` +``` +APP_URL=http://local.lottery.host +DB_HOST=127.0.0.1 +DB_PORT=3306 +DB_DATABASE=lottery +DB_USERNAME=root +DB_PASSWORD=123456 +``` +- `php artisan migrate --seed` \ No newline at end of file diff --git a/app/Admin/Controllers/Store/EmployeeController.php b/app/Admin/Controllers/Store/EmployeeController.php index dba63e1..fc91dcc 100644 --- a/app/Admin/Controllers/Store/EmployeeController.php +++ b/app/Admin/Controllers/Store/EmployeeController.php @@ -38,10 +38,10 @@ class EmployeeController extends AdminController ->columns([ amisMake()->TableColumn()->name('id')->label(__('employee.id')), amisMake()->TableColumn()->name('store.title')->label(__('employee.store_id')), - amisMake()->TableColumn()->name('name')->label(__('store.employees')), + amisMake()->TableColumn()->name('name')->label(__('employee.name')), + amisMake()->TableColumn()->name('store.master_id')->label(__('store.master_id'))->set('type', 'tpl')->tpl('${store.master_id == id ? "店长" : "--"}'), amisMake()->TableColumn()->name('phone')->label(__('employee.phone')), $this->rowActions([ - // $this->rowEditButton(true)->visible(Admin::user()->can('admin.store.employees.update')), $this->rowDeleteButton()->visible(Admin::user()->can('admin.store.employees.delete')), ]), ]); @@ -58,7 +58,7 @@ class EmployeeController extends AdminController ->valueField('id') ->required(), amisMake()->SelectControl()->name('employee_id')->label(__('store.employees')) - ->source(admin_url('api/employees?_all=1&store_id=0&master_store_id=0&enable=1')) + ->source(admin_url('api/employees?_all=1&store_id=0&enable=1')) ->labelField('name') ->valueField('id') ->multiple() diff --git a/app/Admin/Services/StoreService.php b/app/Admin/Services/StoreService.php index e9820d5..fd4d49a 100644 --- a/app/Admin/Services/StoreService.php +++ b/app/Admin/Services/StoreService.php @@ -27,7 +27,13 @@ class StoreService extends BaseService // 绑定店长 if (isset($data['master_id'])) { - Employee::where('id', $data['master_id'])->update(['master_store_id' => $model->id]); + // 还原以前的店长 + if ($model && $model->master_id != $data['master_id']) { + Employee::where('id', $model->master_id)->update(['store_id' => 0]); + } + if ($model->master_id != $data['master_id']) { + Employee::where('id', $data['master_id'])->update(['store_id' => $model->id]); + } } return $data; diff --git a/app/Models/Employee.php b/app/Models/Employee.php index 727eeb0..454eefe 100644 --- a/app/Models/Employee.php +++ b/app/Models/Employee.php @@ -60,10 +60,10 @@ class Employee extends Model } // 管理的门店(店长) - public function masterStore() - { - return $this->belongsTo(Store::class, 'master_store_id'); - } + // public function masterStore() + // { + // return $this->belongsTo(Store::class, 'master_store_id'); + // } public function scopeEnable($q) { diff --git a/database/factories/StoreFactory.php b/database/factories/StoreFactory.php index df348af..2f9cc25 100644 --- a/database/factories/StoreFactory.php +++ b/database/factories/StoreFactory.php @@ -39,7 +39,7 @@ class StoreFactory extends Factory { return $this->afterMaking(function (Store $model) { })->afterCreating(function (Store $model) { - Employee::where('id', $model->master_id)->update(['master_store_id' => $model->id]); + Employee::where('id', $model->master_id)->update(['store_id' => $model->id]); }); } } diff --git a/database/migrations/2024_03_22_091409_create_employees_table.php b/database/migrations/2024_03_22_091409_create_employees_table.php index 935ddcd..b694650 100644 --- a/database/migrations/2024_03_22_091409_create_employees_table.php +++ b/database/migrations/2024_03_22_091409_create_employees_table.php @@ -14,7 +14,7 @@ return new class extends Migration Schema::create('employees', function (Blueprint $table) { $table->id(); $table->foreignId('store_id')->default(0)->comment('所属门店, stores.id'); - $table->foreignId('master_store_id')->default(0)->comment('管理的门店, stores.id'); + // $table->foreignId('master_store_id')->default(0)->comment('管理的门店, stores.id'); $table->string('name')->comment('姓名'); $table->string('phone')->comment('电话'); $table->json('prize_images')->nullable()->comment('荣誉证书');