jawaraegov / workflows
工作流包,用于管理和处理状态及转换
dev-master
2019-07-18 18:07 UTC
Requires
- php: >=5.6.4
- illuminate/support: 5.4.*
- laravelcollective/html: ^5.4.0
- that0n3guy/transliteration: 2.0.x
This package is auto-updated.
Last update: 2024-09-19 06:39:01 UTC
README
工作流管理
用于在复杂业务流程中轻松管理状态和转换的工作流管理工具。
本包最终将包含一些酷炫的功能
- 工作流
- 工作流状态
- 工作流转换
- 工作流通知
- 工作流守卫
- 转换附件
- 附件
- 通知给
- 通知cc
- 历史记录
工作流管理
用于在复杂业务流程中轻松管理状态和转换的工作流管理工具。
本包最终将包含一些酷炫的功能
工作流
- 定义工作流的名称和描述,每个内容类型可以包含多个工作流以管理其业务流程
状态
- 定义与工作流相关的状态名称集合,并描述业务流程中内容的最新状态
转换
- 定义内容中的任何状态转换,此功能将处理移动转换
守卫
- 守卫为管理一个或多个与转换相关的角色管理授权提供权限
通知
- 当内容的状态发生变化或执行转换时,系统将通过系统发送通知给相关人员。通知将显示在用户桌面和相关邮件中。
待办事项
在使用之前,请参阅待办事项。
安装Laravel
$ composer create-project --prefer-dist laravel/laravel project-name "5.4.*"
安装包
$ composer require jawaraegov/workflows:dev-master
编辑config/config.php
编辑config/app.php
提供者
'providers' => [ ... App\Providers\AppServiceProvider::class, App\Providers\AuthServiceProvider::class, App\Providers\EventServiceProvider::class, App\Providers\RouteServiceProvider::class, ... Collective\Html\HtmlServiceProvider::class, 'That0n3guy\Transliteration\TransliterationServiceProvider', Jawaraegov\Workflows\WorkflowServiceProvider::class,
别名
'aliases' => [ ... 'Storage' => Illuminate\Support\Facades\Storage::class, 'URL' => Illuminate\Support\Facades\URL::class, 'Validator' => Illuminate\Support\Facades\Validator::class, 'View' => Illuminate\Support\Facades\View::class, ... 'Form' => Collective\Html\FormFacade::class, 'Html' => Collective\Html\HtmlFacade::class, 'Workflow' => Jawaraegov\Workflows\Facades\Workflow::class,
Artisan命令
$ php artisan vendor:publish --tag=workflow_migrations $ php artisan vendor:publish --tag=workflow_views $ php artisan vendor:publish --tag=workflow_css $ php artisan vendor:publish --tag=workflow_js $ php artisan migrate $ php artisan jawaraegov:workflow:seed
示例用法
特质
1. WorkflowStateTrait
use Jawaraegov\Workflows\Traits\WorkflowStateTrait; class WorkflowStateController extends Controller { use WorkflowStateTrait; public function index() { return WorkflowStateTrait::stateIndex(); } }
2. WorkflowTransitionTrait
use Jawaraegov\Workflows\Traits\WorkflowTransitionTrait; class WorkflowTransitionController extends Controller { use WorkflowTransitionTrait; public function index() { return WorkflowStateTrait::transitionIndex(); } }
WorkflowStateTrait示例
WorkflowTransitionTrait示例
示例2
在应用中使用
//Controller use Jawaraegov\Workflows\Workflow ... public function SOMETHING() { $id = 1; return \Workflow::getStateName($id); }
//Controller use Jawaraegov\Workflows\Workflow ... public function SOMETHING() { $id = 1; return \Workflow::getTransitionName($id); }
CSS
文件夹style.css: public/css/style.css
<!-- layout.blade.php --> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Laravel</title> <!-- Fonts --> --> <link href="{{ asset('css/workflow_style.css') }}" rel="stylesheet" type="text/css">
JS
文件夹custom.js: public/js/custom.js
<!-- layout.blade.php --> </div> </div> --> <script src="{{ asset('js/workflow_javascript.js') }}"></script> </body> </html>