generated from liutk/owl-admin-base
admin workflow 审核按钮权限
parent
c9bccd7123
commit
c70868c91d
|
|
@ -4,7 +4,7 @@ namespace App\Admin\Controllers\System;
|
|||
|
||||
use App\Admin\Controllers\AdminController;
|
||||
use App\Admin\Services\WorkFlowService;
|
||||
use App\Enums\CheckType;
|
||||
use App\Enums\{CheckType, CheckStatus};
|
||||
use App\Models\Employee;
|
||||
use App\Models\Keyword;
|
||||
use App\Models\WorkflowCheck;
|
||||
|
|
@ -231,6 +231,13 @@ class WorkflowController extends AdminController
|
|||
public function logs(Request $request)
|
||||
{
|
||||
$list = WorkflowLog::with(['checkUser'])->where('check_id', $request->input('id'))->sort()->get();
|
||||
// 判断当前用户是否有权限审核
|
||||
$user = Employee::with(['jobs'])->where('admin_user_id', Admin::user()->id)->first();
|
||||
if ($user) {
|
||||
foreach($list as &$item) {
|
||||
$item->checkable = $item->check_status == CheckStatus::Processing && $this->service->authCheck($user, $item);
|
||||
}
|
||||
}
|
||||
|
||||
return $this->response()->success($list);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -196,19 +196,14 @@ class WorkFlowService extends BaseService
|
|||
// if ($user->adminUser?->isAdministrator()) {
|
||||
// return true;
|
||||
// }
|
||||
if ($log->check_type == CheckType::User && $log->check_value == $user->id) {
|
||||
return true;
|
||||
} elseif ($log->check_type == CheckType::Job) {
|
||||
$jobs = $user->jobs;
|
||||
foreach ($jobs as $job) {
|
||||
if ($log->check_value == $user->store_id.'-'.$job->key) {
|
||||
return true;
|
||||
}
|
||||
$checkValue = [$user->id];
|
||||
if ($user->jobs) {
|
||||
foreach($user->jobs as $item) {
|
||||
array_push($checkValue, $user->store_id . '-' . $item->key);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return false;
|
||||
return in_array($log->check_value, $checkValue);
|
||||
}
|
||||
|
||||
public function resloveData($data, $model = null)
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ namespace App\Http\Controllers\Api;
|
|||
|
||||
use Illuminate\Http\{Request, Response};
|
||||
use Illuminate\Database\Eloquent\Relations\Relation;
|
||||
use App\Http\Resources\{ReimbursementResource, WorkflowLogResource, EmployeeSignRepairResource, HolidayApplyResource, OvertimeApplyResource, AgreementResource, EmployeePromotionResource};
|
||||
use App\Http\Resources\{ReimbursementResource, WorkflowLogResource, OfficalBusinessResource, EmployeeSignRepairResource, HolidayApplyResource, OvertimeApplyResource, AgreementResource, EmployeePromotionResource};
|
||||
use App\Enums\CheckStatus;
|
||||
use App\Models\{WorkflowLog, WorkflowCheck};
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
|
|
|||
|
|
@ -74,8 +74,8 @@ trait HasCheckActions
|
|||
amis()->TableColumn()->name('checked_at')->label(__('workflow_log.checked_at')),
|
||||
amis()->TableColumn()->name('remarks')->label(__('workflow_log.remarks')),
|
||||
])->itemActions([
|
||||
$this->succesAction()->reload($reload),
|
||||
$this->failAction()->reload($reload),
|
||||
$this->succesAction()->visibleOn('${checkable}')->reload($reload),
|
||||
$this->failAction()->visibleOn('${checkable}')->reload($reload),
|
||||
])
|
||||
);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue