diff --git a/app/Admin/Controllers/Store/EmployeeController.php b/app/Admin/Controllers/Store/EmployeeController.php index c54e780..157b4e0 100644 --- a/app/Admin/Controllers/Store/EmployeeController.php +++ b/app/Admin/Controllers/Store/EmployeeController.php @@ -39,7 +39,7 @@ class EmployeeController extends AdminController ->filterDefaultVisible() ->columns([ amisMake()->TableColumn()->name('store.title')->label(__('employee.store_id')), - amisMake()->TableColumn()->name('admin_user.username')->label(__('admin.username')), + amisMake()->TableColumn()->name('admin_user.username')->label(__('admin.username'))->copyable(), amisMake()->TableColumn()->name('name')->label(__('employee.name')), amisMake()->TableColumn()->name('avatar')->label(__('employee.avatar'))->type('avatar')->src('${avatar}'), amisMake()->TableColumn()->name('jobs')->label(__('employee.jobs'))->type('each')->items(amisMake()->Tag()->label('${name}')), diff --git a/app/Admin/Services/EmployeePromotionService.php b/app/Admin/Services/EmployeePromotionService.php index 49dc737..e581907 100644 --- a/app/Admin/Services/EmployeePromotionService.php +++ b/app/Admin/Services/EmployeePromotionService.php @@ -51,7 +51,7 @@ class EmployeePromotionService extends BaseService if ($user->can('admin.hr.promotion.view')) { array_push($actions, 'view'); } - if ($user->can('admin.hr.promotion.update') && $model->canUpdate()) { + if ($user->can('admin.hr.promotion.update') && in_array($model->promotion_status, [PromotionStatus::Processing])) { array_push($actions, 'edit'); } if ($user->can('admin.hr.promotion.delete') ) { diff --git a/app/Admin/Services/StoreService.php b/app/Admin/Services/StoreService.php index 2f55b33..d7d7b0a 100644 --- a/app/Admin/Services/StoreService.php +++ b/app/Admin/Services/StoreService.php @@ -66,12 +66,7 @@ class StoreService extends BaseService return false; } - - // 还原以前的店长 - if (isset($data['master_id']) && $model->master_id != $data['master_id']) { - Employee::where('id', $model->master_id)->update(['store_id' => 0]); - } - + $beforeProfitRatio = $model->profit_ratio; $model->update($data); diff --git a/app/Http/Controllers/Api/Auth/AccessTokenController.php b/app/Http/Controllers/Api/Auth/AccessTokenController.php index f696f34..1ee501b 100644 --- a/app/Http/Controllers/Api/Auth/AccessTokenController.php +++ b/app/Http/Controllers/Api/Auth/AccessTokenController.php @@ -32,6 +32,9 @@ class AccessTokenController extends Controller 'username' => ['账号或密码错误'], ]); } + if ($adminUser->lock) { + throw new RuntimeException('您的账号已被锁定,需要联系超级管理员解锁。'); + } $employee = Employee::where('admin_user_id', $adminUser->id)->first(); diff --git a/app/Models/WorkflowLog.php b/app/Models/WorkflowLog.php index 9c4a22a..4f05df8 100644 --- a/app/Models/WorkflowLog.php +++ b/app/Models/WorkflowLog.php @@ -38,11 +38,14 @@ class WorkflowLog extends Model public function scopeOwn($builder, $user) { $storeId = $user->store_id; - $jobs = $user->jobs; - $jobValue = [$user->id]; - foreach($jobs as $item) { - array_push($jobValue, $storeId . '-' . $item->key); + $checkValue = [$user->id]; + if ($user->jobs && $user->jobs->count() > 0) { + $max = $user->jobs->max('sort'); + $jobs = Keyword::where('parent_key', 'job')->where('sort', '<', $max)->get(); + foreach($user->jobs->merge($jobs) as $item) { + array_push($checkValue, $user->store_id . '-' . $item->key); + } } - return $builder->whereIn('check_value', $jobValue); + return $builder->whereIn('check_value', $checkValue); } }