api worlflow

main
panliang 2024-04-27 11:36:17 +08:00
parent 979566b2d8
commit 48c99e07b5
5 changed files with 11 additions and 7 deletions

View File

@ -44,7 +44,7 @@ class EmployeeController extends AdminController
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}')),
// 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')),
amisMake()->TableColumn()->name('phone')->label(__('employee.phone'))->copyable(),
$this->rowActions([
$this->rowDeleteButton()->hiddenOn('${store.master_id == id}')->visible($user->can('admin.store.employees.delete')),
]),

View File

@ -252,7 +252,7 @@ class WorkflowController extends AdminController
public function getJobOptions()
{
if (! $this->jobOptions) {
$this->jobOptions = Keyword::where('parent_key', 'job')->select(['key as value', 'name as label'])->get();
$this->jobOptions = Keyword::where('parent_key', 'job')->sort(orkf)->select(['key as value', 'name as label'])->get();
}
return $this->jobOptions;

View File

@ -54,7 +54,7 @@ class EmployeePromotionService extends BaseService
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') ) {
if ($user->can('admin.hr.promotion.delete') && in_array($model->promotion_status, [PromotionStatus::Processing, PromotionStatus::Fail])) {
array_push($actions, 'delete');
}
if (in_array($model->promotion_status, [PromotionStatus::Processing])) {

View File

@ -95,6 +95,10 @@ class EmployeeService extends BaseService
*/
public function leave(Employee $user, $options = [])
{
// 店长不能离职
if ($user->isStoreMaster()) {
return $this->setError('请先设置新店长');
}
if ($user->employee_status == EmployeeStatus::Online) {
$user->update([
'leave_at' => data_get($options, 'leave_at', now()),

View File

@ -38,11 +38,11 @@ class WorkflowLog extends Model
public function scopeOwn($builder, $user)
{
$checkValue = [$user->id];
$jobs = $user->jobs;
if ($jobs && $jobs->count() > 0) {
$max = $jobs->max('sort');
$userJobs = $user->jobs;
if ($userJobs && $userJobs->count() > 0) {
$max = $userJobs->max('sort');
$jobs = Keyword::where('parent_key', 'job')->where('sort', '<', $max)->get();
foreach($jobs->merge($jobs) as $item) {
foreach($userJobs->merge($jobs) as $item) {
array_push($checkValue, $user->store_id . '-' . $item->key);
}
}