├── .env.example ├── .gitattributes ├── .gitignore ├── LICENSE ├── app ├── Console │ └── Kernel.php ├── Exceptions │ └── Handler.php ├── Helper.php ├── Http │ ├── Controllers │ │ ├── AdminController.php │ │ ├── Auth │ │ │ ├── ForgotPasswordController.php │ │ │ ├── LoginController.php │ │ │ ├── RegisterController.php │ │ │ └── ResetPasswordController.php │ │ ├── Controller.php │ │ ├── IndexController.php │ │ ├── NewsController.php │ │ ├── UserController.php │ │ └── WorkflowController.php │ ├── Kernel.php │ └── Middleware │ │ ├── EncryptCookies.php │ │ ├── RedirectIfAuthenticated.php │ │ ├── TrimStrings.php │ │ ├── TrustProxies.php │ │ └── VerifyCsrfToken.php ├── Providers │ ├── AppServiceProvider.php │ ├── AuthServiceProvider.php │ ├── BroadcastServiceProvider.php │ ├── EventServiceProvider.php │ └── RouteServiceProvider.php ├── User.php └── Work │ ├── Migrations │ └── create_flow.php │ ├── Model │ ├── Flow.php │ ├── FlowProcess.php │ ├── Form.php │ ├── FormFunction.php │ ├── Menu.php │ ├── News.php │ ├── NewsType.php │ ├── Role.php │ ├── Run.php │ ├── RunCache.php │ ├── RunLog.php │ ├── RunProcess.php │ ├── RunSign.php │ └── User.php │ ├── Msg │ ├── Mail.php │ └── MailService.php │ ├── ReadClass.php │ ├── Repositories │ ├── FlowRepo.php │ ├── InfoRepo.php │ ├── LogRepo.php │ ├── ProcessRepo.php │ └── UserRepo.php │ ├── Service │ ├── Task │ │ ├── BackFlow.php │ │ ├── SingFlow.php │ │ ├── SupFlow.php │ │ └── TaskFlow.php │ └── TaskService.php │ └── Workflow.php ├── artisan ├── bootstrap ├── app.php └── cache │ └── .gitignore ├── composer.json ├── composer.lock ├── config ├── app.php ├── auth.php ├── broadcasting.php ├── cache.php ├── database.php ├── filesystems.php ├── mail.php ├── queue.php ├── services.php ├── session.php └── view.php ├── database ├── .gitignore ├── factories │ └── UserFactory.php ├── migrations │ ├── 2014_10_12_000000_create_users_table.php │ └── 2014_10_12_100000_create_password_resets_table.php └── seeds │ └── DatabaseSeeder.php ├── laravelflow3.0.sql ├── package.json ├── phpunit.xml ├── public ├── .htaccess ├── css │ └── app.css ├── favicon.ico ├── index.php ├── js │ └── app.js ├── robots.txt ├── static │ ├── h-ui.admin │ │ ├── common.css │ │ ├── common.js │ │ ├── css │ │ │ ├── H-ui.admin.css │ │ │ ├── H-ui.login.css │ │ │ ├── keen-dashboards.css │ │ │ └── style.css │ │ ├── images │ │ │ ├── acrossTab │ │ │ │ └── acrossTab-2.png │ │ │ ├── admin-login-bg.jpg │ │ │ ├── admin-loginform-bg.png │ │ │ ├── cn.gif │ │ │ ├── loading.gif │ │ │ ├── logo.png │ │ │ └── um.gif │ │ ├── js │ │ │ ├── H-ui.admin.js │ │ │ └── de_DE.txt │ │ └── skin │ │ │ ├── blue │ │ │ ├── acrossTab-bg.png │ │ │ ├── acrossTab.png │ │ │ ├── icon_arrow.png │ │ │ └── skin.css │ │ │ ├── default │ │ │ ├── acrossTab-bg.png │ │ │ ├── acrossTab.png │ │ │ ├── icon_arrow.png │ │ │ └── skin.css │ │ │ ├── green │ │ │ ├── acrossTab-bg.png │ │ │ ├── acrossTab.png │ │ │ ├── icon_arrow.png │ │ │ └── skin.css │ │ │ ├── orange │ │ │ ├── acrossTab-bg.png │ │ │ ├── acrossTab.png │ │ │ ├── icon_arrow.png │ │ │ └── skin.css │ │ │ ├── red │ │ │ ├── acrossTab-bg.png │ │ │ ├── acrossTab.png │ │ │ ├── icon_arrow.png │ │ │ └── skin.css │ │ │ └── yellow │ │ │ ├── acrossTab-bg.png │ │ │ ├── acrossTab.png │ │ │ ├── icon_arrow.png │ │ │ └── skin.css │ ├── h-ui │ │ ├── css │ │ │ ├── H-ui.css │ │ │ ├── H-ui.ie.css │ │ │ ├── H-ui.min.css │ │ │ └── H-ui.reset.css │ │ ├── images │ │ │ ├── Hui-tags │ │ │ │ └── empty.png │ │ │ ├── acrossTab │ │ │ │ ├── acrossTab-bg.png │ │ │ │ ├── acrossTab-close.png │ │ │ │ └── acrossTab.png │ │ │ ├── dataTable │ │ │ │ ├── sort_asc.png │ │ │ │ ├── sort_both.png │ │ │ │ └── sort_desc.png │ │ │ ├── dropDown │ │ │ │ └── icon-jt.png │ │ │ ├── face │ │ │ │ ├── 201.gif │ │ │ │ ├── 202.gif │ │ │ │ ├── 203.gif │ │ │ │ ├── 204.gif │ │ │ │ ├── 205.gif │ │ │ │ ├── 206.gif │ │ │ │ ├── 207.gif │ │ │ │ ├── 208.gif │ │ │ │ ├── 209.gif │ │ │ │ ├── 210.gif │ │ │ │ └── QQ │ │ │ │ │ ├── 0.gif │ │ │ │ │ ├── 1.gif │ │ │ │ │ ├── 10.gif │ │ │ │ │ ├── 100.gif │ │ │ │ │ ├── 101.gif │ │ │ │ │ ├── 102.gif │ │ │ │ │ ├── 103.gif │ │ │ │ │ ├── 104.gif │ │ │ │ │ ├── 105.gif │ │ │ │ │ ├── 106.gif │ │ │ │ │ ├── 11.gif │ │ │ │ │ ├── 12.gif │ │ │ │ │ ├── 13.gif │ │ │ │ │ ├── 14.gif │ │ │ │ │ ├── 15.gif │ │ │ │ │ ├── 16.gif │ │ │ │ │ ├── 18.gif │ │ │ │ │ ├── 19.gif │ │ │ │ │ ├── 2.gif │ │ │ │ │ ├── 20.gif │ │ │ │ │ ├── 21.gif │ │ │ │ │ ├── 22.gif │ │ │ │ │ ├── 23.gif │ │ │ │ │ ├── 24.gif │ │ │ │ │ ├── 25.gif │ │ │ │ │ ├── 26.gif │ │ │ │ │ ├── 27.gif │ │ │ │ │ ├── 28.gif │ │ │ │ │ ├── 29.gif │ │ │ │ │ ├── 3.gif │ │ │ │ │ ├── 30.gif │ │ │ │ │ ├── 31.gif │ │ │ │ │ ├── 32.gif │ │ │ │ │ ├── 33.gif │ │ │ │ │ ├── 34.gif │ │ │ │ │ ├── 35.gif │ │ │ │ │ ├── 36.gif │ │ │ │ │ ├── 37.gif │ │ │ │ │ ├── 38.gif │ │ │ │ │ ├── 39.gif │ │ │ │ │ ├── 4.gif │ │ │ │ │ ├── 40.gif │ │ │ │ │ ├── 41.gif │ │ │ │ │ ├── 42.gif │ │ │ │ │ ├── 43.gif │ │ │ │ │ ├── 44.gif │ │ │ │ │ ├── 45.gif │ │ │ │ │ ├── 46.gif │ │ │ │ │ ├── 47.gif │ │ │ │ │ ├── 48.gif │ │ │ │ │ ├── 49.gif │ │ │ │ │ ├── 5.gif │ │ │ │ │ ├── 50.gif │ │ │ │ │ ├── 51.gif │ │ │ │ │ ├── 52.gif │ │ │ │ │ ├── 53.gif │ │ │ │ │ ├── 54.gif │ │ │ │ │ ├── 55.gif │ │ │ │ │ ├── 56.gif │ │ │ │ │ ├── 57.gif │ │ │ │ │ ├── 58.gif │ │ │ │ │ ├── 59.gif │ │ │ │ │ ├── 6.gif │ │ │ │ │ ├── 60.gif │ │ │ │ │ ├── 61.gif │ │ │ │ │ ├── 62.gif │ │ │ │ │ ├── 63.gif │ │ │ │ │ ├── 64.gif │ │ │ │ │ ├── 65.gif │ │ │ │ │ ├── 66.gif │ │ │ │ │ ├── 67.gif │ │ │ │ │ ├── 68.gif │ │ │ │ │ ├── 69.gif │ │ │ │ │ ├── 7.gif │ │ │ │ │ ├── 70.gif │ │ │ │ │ ├── 71.gif │ │ │ │ │ ├── 72.gif │ │ │ │ │ ├── 73.gif │ │ │ │ │ ├── 74.gif │ │ │ │ │ ├── 75.gif │ │ │ │ │ ├── 76.gif │ │ │ │ │ ├── 77.gif │ │ │ │ │ ├── 78.gif │ │ │ │ │ ├── 79.gif │ │ │ │ │ ├── 8.gif │ │ │ │ │ ├── 80.gif │ │ │ │ │ ├── 81.gif │ │ │ │ │ ├── 82.gif │ │ │ │ │ ├── 83.gif │ │ │ │ │ ├── 84.gif │ │ │ │ │ ├── 85.gif │ │ │ │ │ ├── 86.gif │ │ │ │ │ ├── 87.gif │ │ │ │ │ ├── 88.gif │ │ │ │ │ ├── 89.gif │ │ │ │ │ ├── 9.gif │ │ │ │ │ ├── 90.gif │ │ │ │ │ ├── 91.gif │ │ │ │ │ ├── 92.gif │ │ │ │ │ ├── 93.gif │ │ │ │ │ ├── 94.gif │ │ │ │ │ ├── 95.gif │ │ │ │ │ ├── 96.gif │ │ │ │ │ ├── 97.gif │ │ │ │ │ ├── 98.gif │ │ │ │ │ └── 99.gif │ │ │ ├── iCheck │ │ │ │ ├── aero.png │ │ │ │ ├── aero@2x.png │ │ │ │ ├── blue.png │ │ │ │ ├── blue@2x.png │ │ │ │ ├── green.png │ │ │ │ ├── green@2x.png │ │ │ │ ├── grey.png │ │ │ │ ├── grey@2x.png │ │ │ │ ├── minimal.png │ │ │ │ ├── minimal@2x.png │ │ │ │ ├── orange.png │ │ │ │ ├── orange@2x.png │ │ │ │ ├── pink.png │ │ │ │ ├── pink@2x.png │ │ │ │ ├── purple.png │ │ │ │ ├── purple@2x.png │ │ │ │ ├── red.png │ │ │ │ ├── red@2x.png │ │ │ │ ├── yellow.png │ │ │ │ └── yellow@2x.png │ │ │ ├── iconpic-arrow.png │ │ │ ├── jselect │ │ │ │ └── iconpic-arrow-down2.png │ │ │ ├── loading │ │ │ │ ├── loading-b.gif │ │ │ │ └── loading-s.gif │ │ │ ├── rollpic │ │ │ │ └── unslider-arrow.png │ │ │ ├── star │ │ │ │ ├── iconpic-star-S-default.png │ │ │ │ └── iconpic-star-S.png │ │ │ ├── steps │ │ │ │ ├── step_arrow-active.png │ │ │ │ ├── step_arrow.png │ │ │ │ ├── step_bg-active.png │ │ │ │ └── step_bg.png │ │ │ ├── ucnter │ │ │ │ ├── avatar-default-S.gif │ │ │ │ ├── avatar-default.jpg │ │ │ │ ├── avatar.png │ │ │ │ └── noavatar_small.gif │ │ │ ├── validform │ │ │ │ ├── iconpic-error.png │ │ │ │ ├── iconpic-right.png │ │ │ │ └── iconpic-warning.png │ │ │ └── verticalTab │ │ │ │ ├── tabNav-active.png │ │ │ │ ├── tabNav-hover.png │ │ │ │ ├── tabNav.png │ │ │ │ ├── tabNav_right-active.png │ │ │ │ ├── tabNav_right-hover.png │ │ │ │ ├── tabNav_right.png │ │ │ │ └── tab_bg.png │ │ └── js │ │ │ ├── H-ui.js │ │ │ └── H-ui.min.js │ ├── lib │ │ ├── H5upload.js │ │ ├── Hui-iconfont │ │ │ └── 1.0.8 │ │ │ │ ├── demo.html │ │ │ │ ├── iconfont.css │ │ │ │ ├── iconfont.eot │ │ │ │ ├── iconfont.min.css │ │ │ │ ├── iconfont.svg │ │ │ │ ├── iconfont.ttf │ │ │ │ └── iconfont.woff │ │ ├── Validform │ │ │ └── 5.3.2 │ │ │ │ ├── Validform.js │ │ │ │ ├── Validform.min.js │ │ │ │ ├── Validform.source.js │ │ │ │ └── passwordStrength-min.js │ │ ├── expressInstall.swf │ │ ├── html5shiv.js │ │ ├── jquery │ │ │ └── 1.9.1 │ │ │ │ ├── jquery.js │ │ │ │ └── jquery.min.js │ │ ├── jselect-1.0.js │ │ ├── laydate5.0.9 │ │ │ ├── laydate.js │ │ │ └── theme │ │ │ │ └── default │ │ │ │ ├── font │ │ │ │ ├── iconfont.eot │ │ │ │ ├── iconfont.svg │ │ │ │ ├── iconfont.ttf │ │ │ │ └── iconfont.woff │ │ │ │ └── laydate.css │ │ ├── layer │ │ │ └── 2.4 │ │ │ │ ├── layer.js │ │ │ │ └── skin │ │ │ │ ├── default │ │ │ │ ├── icon-ext.png │ │ │ │ ├── icon.png │ │ │ │ ├── loading-0.gif │ │ │ │ ├── loading-1.gif │ │ │ │ └── loading-2.gif │ │ │ │ └── layer.css │ │ ├── respond.min.js │ │ ├── squid.js │ │ └── swfobject.js │ └── work │ │ ├── jquery-1.7.2.min.js │ │ ├── jquery-ui-1.9.2-min.js │ │ ├── jsPlumb-1.3.16-all-min.js │ │ ├── multiselect2side.css │ │ ├── multiselect2side.js │ │ ├── process.png │ │ ├── workflow-att.3.0.js │ │ ├── workflow.3.0.css │ │ └── workflow.3.0.js └── web.config ├── readme.md ├── resources ├── assets │ ├── js │ │ ├── app.js │ │ ├── bootstrap.js │ │ └── components │ │ │ └── ExampleComponent.vue │ └── sass │ │ ├── _variables.scss │ │ └── app.scss ├── lang │ └── en │ │ ├── auth.php │ │ ├── pagination.php │ │ ├── passwords.php │ │ └── validation.php └── views │ ├── index │ ├── doc.blade.php │ ├── index.blade.php │ └── welcome.blade.php │ ├── news │ ├── add.blade.php │ ├── index.blade.php │ └── view.blade.php │ ├── pub │ ├── base.blade.php │ └── footter.blade.php │ ├── welcome.blade.php │ └── wf │ ├── add.blade.php │ ├── att.blade.php │ ├── check.blade.php │ ├── desc.blade.php │ ├── index.blade.php │ ├── super_role.blade.php │ ├── super_user.blade.php │ ├── wfjk.blade.php │ ├── wfstart.blade.php │ └── wfup.blade.php ├── routes ├── api.php ├── channels.php ├── console.php └── web.php ├── server.php ├── storage ├── app │ ├── .gitignore │ └── public │ │ └── .gitignore ├── framework │ ├── .gitignore │ ├── cache │ │ └── .gitignore │ ├── sessions │ │ └── .gitignore │ ├── testing │ │ └── .gitignore │ └── views │ │ └── .gitignore └── logs │ └── .gitignore ├── tests ├── CreatesApplication.php ├── Feature │ └── ExampleTest.php ├── TestCase.php └── Unit │ └── ExampleTest.php └── webpack.mix.js /.env.example: -------------------------------------------------------------------------------- 1 | APP_NAME=Laravel 2 | APP_ENV=local 3 | APP_KEY= 4 | APP_DEBUG=true 5 | APP_LOG_LEVEL=debug 6 | APP_URL=http://localhost 7 | 8 | DB_CONNECTION=mysql 9 | DB_HOST=127.0.0.1 10 | DB_PORT=3306 11 | DB_DATABASE=homestead 12 | DB_USERNAME=homestead 13 | DB_PASSWORD=secret 14 | 15 | BROADCAST_DRIVER=log 16 | CACHE_DRIVER=file 17 | SESSION_DRIVER=file 18 | SESSION_LIFETIME=120 19 | QUEUE_DRIVER=sync 20 | 21 | REDIS_HOST=127.0.0.1 22 | REDIS_PASSWORD=null 23 | REDIS_PORT=6379 24 | 25 | MAIL_DRIVER=smtp 26 | MAIL_HOST=smtp.mailtrap.io 27 | MAIL_PORT=2525 28 | MAIL_USERNAME=null 29 | MAIL_PASSWORD=null 30 | MAIL_ENCRYPTION=null 31 | 32 | PUSHER_APP_ID= 33 | PUSHER_APP_KEY= 34 | PUSHER_APP_SECRET= 35 | PUSHER_APP_CLUSTER=mt1 36 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | *.css linguist-vendored 3 | *.scss linguist-vendored 4 | *.js linguist-vendored 5 | CHANGELOG.md export-ignore 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /public/hot 3 | /public/storage 4 | /storage/*.key 5 | /vendor 6 | /.idea 7 | /.vagrant 8 | Homestead.json 9 | Homestead.yaml 10 | npm-debug.log 11 | yarn-error.log 12 | .env 13 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2018 逆天的蝈蝈 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /app/Console/Kernel.php: -------------------------------------------------------------------------------- 1 | command('inspire') 28 | // ->hourly(); 29 | } 30 | 31 | /** 32 | * Register the commands for the application. 33 | * 34 | * @return void 35 | */ 36 | protected function commands() 37 | { 38 | $this->load(__DIR__.'/Commands'); 39 | 40 | require base_path('routes/console.php'); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /app/Exceptions/Handler.php: -------------------------------------------------------------------------------- 1 | 保存中'; 14 | break; 15 | case 1: 16 | return '流程中'; 17 | break; 18 | case 2: 19 | return '审核通过'; 20 | break; 21 | default: //-1 22 | return '退回修改'; 23 | } 24 | } 25 | 26 | public static function btn($wf_fid,$wf_type,$status) 27 | { 28 | $work = new workflow(); 29 | $url = "/wf/wfcheck?wf_type={$wf_type}&wf_title=2&wf_fid={$wf_fid}"; 30 | $url_star = "/wf/wfstart?wf_type={$wf_type}&wf_title=2&wf_fid={$wf_fid}"; 31 | switch ($status) 32 | { 33 | case 0: 34 | return '发起工作流'; 35 | break; 36 | case 1: 37 | $st = 0; 38 | $flowinfo = $work->workflowInfo($wf_fid,$wf_type,['uid'=>session('uid'),'role'=>session('role')]); 39 | 40 | if($flowinfo!=-1){ 41 | $user = explode(",", $flowinfo['status']['sponsor_ids']); 42 | if($flowinfo['sing_st']==0){ 43 | if($flowinfo['status']['auto_person']==3||$flowinfo['status']['auto_person']==4){ 44 | if (in_array(session('uid'), $user)) { 45 | $st = 1; 46 | } 47 | } 48 | if($flowinfo['status']['auto_person']==5){ 49 | if (in_array(session('role'), $user)) { 50 | $st = 1; 51 | } 52 | } 53 | }else{ 54 | if($flowinfo['sing_info']['uid']==session('id')){ 55 | $st = 1; 56 | } 57 | } 58 | }else{ 59 | return '无权限'; 60 | } 61 | if($st == 1){ 62 | return "审核"; 63 | }else{ 64 | return '无权限'; 65 | } 66 | 67 | case 100: 68 | echo "代审"; 69 | break; 70 | 71 | break; 72 | default: 73 | return ''; 74 | } 75 | } 76 | } -------------------------------------------------------------------------------- /app/Http/Controllers/AdminController.php: -------------------------------------------------------------------------------- 1 | middleware('guest'); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /app/Http/Controllers/Auth/LoginController.php: -------------------------------------------------------------------------------- 1 | middleware('guest')->except('logout'); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /app/Http/Controllers/Auth/RegisterController.php: -------------------------------------------------------------------------------- 1 | middleware('guest'); 40 | } 41 | 42 | /** 43 | * Get a validator for an incoming registration request. 44 | * 45 | * @param array $data 46 | * @return \Illuminate\Contracts\Validation\Validator 47 | */ 48 | protected function validator(array $data) 49 | { 50 | return Validator::make($data, [ 51 | 'name' => 'required|string|max:255', 52 | 'email' => 'required|string|email|max:255|unique:users', 53 | 'password' => 'required|string|min:6|confirmed', 54 | ]); 55 | } 56 | 57 | /** 58 | * Create a new user instance after a valid registration. 59 | * 60 | * @param array $data 61 | * @return \App\User 62 | */ 63 | protected function create(array $data) 64 | { 65 | return User::create([ 66 | 'name' => $data['name'], 67 | 'email' => $data['email'], 68 | 'password' => bcrypt($data['password']), 69 | ]); 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /app/Http/Controllers/Auth/ResetPasswordController.php: -------------------------------------------------------------------------------- 1 | middleware('guest'); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /app/Http/Controllers/IndexController.php: -------------------------------------------------------------------------------- 1 | get(); 12 | $menu = Menu::get(); 13 | return view('index.index',['user'=>$user,'menu'=>$menu]); 14 | } 15 | 16 | public function welcome(Request $request){ 17 | $user = User::select('id','username','role')->get(); 18 | return view('index.welcome',['user'=>$user]); 19 | } 20 | 21 | public function doc(Request $request){ 22 | return view('index.doc'); 23 | } 24 | 25 | public function login(Request $request){ 26 | Session::flush(); 27 | $info = User::find($request->get('id')); 28 | Session::put('uid', $info['id']); 29 | Session::put('uname', $info['username']); 30 | Session::put('role', $info['role']); 31 | 32 | return response('success'); 33 | } 34 | 35 | } -------------------------------------------------------------------------------- /app/Http/Kernel.php: -------------------------------------------------------------------------------- 1 | [ 31 | \App\Http\Middleware\EncryptCookies::class, 32 | \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, 33 | \Illuminate\Session\Middleware\StartSession::class, 34 | // \Illuminate\Session\Middleware\AuthenticateSession::class, 35 | \Illuminate\View\Middleware\ShareErrorsFromSession::class, 36 | // \App\Http\Middleware\VerifyCsrfToken::class, 37 | \Illuminate\Routing\Middleware\SubstituteBindings::class, 38 | ], 39 | 40 | 'api' => [ 41 | 'throttle:60,1', 42 | 'bindings', 43 | ], 44 | ]; 45 | 46 | /** 47 | * The application's route middleware. 48 | * 49 | * These middleware may be assigned to groups or used individually. 50 | * 51 | * @var array 52 | */ 53 | protected $routeMiddleware = [ 54 | 'auth' => \Illuminate\Auth\Middleware\Authenticate::class, 55 | 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 56 | 'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class, 57 | 'can' => \Illuminate\Auth\Middleware\Authorize::class, 58 | 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 59 | 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 60 | ]; 61 | } 62 | -------------------------------------------------------------------------------- /app/Http/Middleware/EncryptCookies.php: -------------------------------------------------------------------------------- 1 | check()) { 21 | return redirect('/home'); 22 | } 23 | 24 | return $next($request); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /app/Http/Middleware/TrimStrings.php: -------------------------------------------------------------------------------- 1 | 'FORWARDED', 24 | Request::HEADER_X_FORWARDED_FOR => 'X_FORWARDED_FOR', 25 | Request::HEADER_X_FORWARDED_HOST => 'X_FORWARDED_HOST', 26 | Request::HEADER_X_FORWARDED_PORT => 'X_FORWARDED_PORT', 27 | Request::HEADER_X_FORWARDED_PROTO => 'X_FORWARDED_PROTO', 28 | ]; 29 | } 30 | -------------------------------------------------------------------------------- /app/Http/Middleware/VerifyCsrfToken.php: -------------------------------------------------------------------------------- 1 | 'App\Policies\ModelPolicy', 17 | ]; 18 | 19 | /** 20 | * Register any authentication / authorization services. 21 | * 22 | * @return void 23 | */ 24 | public function boot() 25 | { 26 | $this->registerPolicies(); 27 | 28 | // 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /app/Providers/BroadcastServiceProvider.php: -------------------------------------------------------------------------------- 1 | [ 17 | 'App\Listeners\EventListener', 18 | ], 19 | ]; 20 | 21 | /** 22 | * Register any events for your application. 23 | * 24 | * @return void 25 | */ 26 | public function boot() 27 | { 28 | parent::boot(); 29 | 30 | // 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /app/Providers/RouteServiceProvider.php: -------------------------------------------------------------------------------- 1 | mapApiRoutes(); 39 | 40 | $this->mapWebRoutes(); 41 | 42 | // 43 | } 44 | 45 | /** 46 | * Define the "web" routes for the application. 47 | * 48 | * These routes all receive session state, CSRF protection, etc. 49 | * 50 | * @return void 51 | */ 52 | protected function mapWebRoutes() 53 | { 54 | Route::middleware('web') 55 | ->namespace($this->namespace) 56 | ->group(base_path('routes/web.php')); 57 | } 58 | 59 | /** 60 | * Define the "api" routes for the application. 61 | * 62 | * These routes are typically stateless. 63 | * 64 | * @return void 65 | */ 66 | protected function mapApiRoutes() 67 | { 68 | Route::prefix('api') 69 | ->middleware('api') 70 | ->namespace($this->namespace) 71 | ->group(base_path('routes/api.php')); 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /app/User.php: -------------------------------------------------------------------------------- 1 | $uid, 25 | 'from_id'=>$config['wf_fid'], 26 | 'from_table'=>$config['wf_type'], 27 | 'run_id'=>$run_id, 28 | 'content'=>$config['check_con'], 29 | 'art'=>$config['art'], 30 | 'btn'=>$btn,//从 serialize 改用 json_encode 兼容其它语言 31 | 'dateline'=>time() 32 | ); 33 | $run_log = RunLog::create($run_log); 34 | if(!$run_log) 35 | { 36 | return false; 37 | } 38 | return $run_log; 39 | } 40 | } -------------------------------------------------------------------------------- /app/Work/Repositories/UserRepo.php: -------------------------------------------------------------------------------- 1 | ['user','id','username','id as id,username as username','username'], 16 | 'role'=>['role','id','name','id as id,name as username','name'] 17 | ]; 18 | return User::select('id as id','username as username')->get(); 19 | } 20 | public static function getRole() 21 | { 22 | return Role::select('id as id ','name as username')->get(); 23 | } 24 | public static function ajaxGet($type,$keyword){ 25 | if($type=='user'){ 26 | $map['username'] = array('like','%'.$keyword.'%'); 27 | return User::select('id as id','username as username')->where($map)->get(); 28 | }else{ 29 | $map['name'] = array('like','%'.$keyword.'%'); 30 | return Role::select('id as id','name as username')->where($map)->get(); 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /app/Work/Service/Task/BackFlow.php: -------------------------------------------------------------------------------- 1 | '结束流程错误!!!','code'=>'-1']; 58 | } 59 | //更新单据状态 60 | $bill_update = InfoRepo::updateBill($wf_fid,$wf_type,'-1'); 61 | if(!$bill_update){ 62 | return ['msg'=>'流程步骤操作记录失败,数据库错误!!!','code'=>'-1']; 63 | } 64 | //消息通知 65 | //日志记录 66 | $run_log = LogRepo::addRunLog($uid,$config['run_id'],$config,'Back'); 67 | if(!$run_log){ 68 | return ['msg'=>'消息记录失败,数据库错误!!!','code'=>'-1']; 69 | } 70 | }else{ //结束流程 71 | $end = FlowRepo::end_process($run_process,$check_con); 72 | if(!$end){ 73 | return ['msg'=>'结束流程错误!!!','code'=>'-1']; 74 | } 75 | self::run($config,$uid,$todo);//添加回退步骤流程 76 | //消息通知发起人 77 | $run_update = FlowRepo::up($run_id,$wf_backflow); 78 | } 79 | } 80 | /** 81 | *判断是否是第一步 82 | * 83 | *@param $run_flow_process 工作流ID 84 | **/ 85 | public static function isOneFlow($run_flow_process) 86 | { 87 | $info = FlowProcess::find($run_flow_process); 88 | if($info['process_type']=='is_one'){ 89 | return true; 90 | }else{ 91 | return false; 92 | } 93 | } 94 | /** 95 | *运行 96 | * 97 | *@param $run_flow_process 工作流ID 98 | **/ 99 | public function run($config,$uid,$todo) 100 | { 101 | $wf_process = ProcessRepo::getProcessInfo($config['wf_backflow']); 102 | //添加流程步骤日志 103 | $wf_process_log = InfoRepo::addWorkflowProcess($config['flow_id'],$wf_process,$config['run_id'],$uid,$todo); 104 | if(!$wf_process_log){ 105 | return ['msg'=>'流程步骤操作记录失败,数据库错误!!!','code'=>'-1']; 106 | } 107 | 108 | //日志记录 109 | LogRepo::addRunLog($uid,$config['run_id'],$config,'Back'); 110 | if(!$wf_process_log){ 111 | return ['msg'=>'消息记录失败,数据库错误!!!','code'=>'-1']; 112 | } 113 | } 114 | } -------------------------------------------------------------------------------- /app/Work/Service/Task/SupFlow.php: -------------------------------------------------------------------------------- 1 | '流程信息有误!','code'=>'-1']; 30 | } 31 | $config = [ 32 | 'wf_fid'=>$wfinfo['from_id'], 33 | 'wf_type'=>$wfinfo['from_table'], 34 | 'check_con'=>'编号:'.$uid.'的超级管理员终止了本流程!', 35 | ]; 36 | //结束当前run 工作流 37 | $end = FlowRepo::end_flow($wfid); 38 | $end = FlowRepo::end_process($wfinfo['run_flow_process'],$config['check_con']); 39 | $run_log = LogRepo::addRunLog($uid,$wfid,$config,'SupEnd'); 40 | 41 | if(!$end){ 42 | return ['msg'=>'结束流程错误!!!','code'=>'-1']; 43 | } 44 | //更新单据状态 45 | $bill_update = InfoRepo::updateBill($config['wf_fid'],$config['wf_type'],2); 46 | if(!$bill_update){ 47 | return ['msg'=>'流程步骤操作记录失败,数据库错误!!!','code'=>'-1']; 48 | } 49 | } 50 | } -------------------------------------------------------------------------------- /app/Work/Service/Task/TaskFlow.php: -------------------------------------------------------------------------------- 1 | '结束流程错误!!!','code'=>'-1']; 50 | } 51 | /* 52 | * 2019年1月27日 53 | * 同步模式下,只写入记录 54 | */ 55 | if($config['wf_mode']!=2){ 56 | //更新单据信息 57 | FlowRepo::up($run_id,$npid); 58 | //记录下一个流程->消息记录 59 | self::run($config,$uid,$todo); 60 | }else{ 61 | //日志记录 62 | $run_log = LogRepo::addRunLog($uid,$config['run_id'],$config,'ok'); 63 | if(!$run_log){ 64 | return ['msg'=>'消息记录失败,数据库错误!!!','code'=>'-1']; 65 | } 66 | } 67 | }else{ 68 | //结束该流程 69 | $end = FlowRepo::end_flow($run_id); 70 | $end = FlowRepo::end_process($run_process,$check_con); 71 | $run_log = LogRepo::addRunLog($uid,$run_id,$config,'ok'); 72 | if(!$end){ 73 | return ['msg'=>'结束流程错误!!!','code'=>'-1']; 74 | } 75 | //更新单据状态 76 | $bill_update = InfoRepo::updateBill($config['wf_fid'],$config['wf_type'],2); 77 | if(!$bill_update){ 78 | return ['msg'=>'流程步骤操作记录失败,数据库错误!!!','code'=>'-1']; 79 | } 80 | //消息通知发起人 81 | } 82 | } 83 | /** 84 | *运行记录 85 | * 86 | *@param $run_flow_process 工作流ID 87 | **/ 88 | public static function run($config,$uid,$todo) 89 | { 90 | 91 | $nex_pid = explode(",",$config['npid']); 92 | foreach($nex_pid as $v){ 93 | $wf_process = ProcessRepo::getProcessInfo($v); 94 | //添加流程步骤日志 95 | $wf_process_log = InfoRepo::addWorkflowProcess($config['flow_id'],$wf_process,$config['run_id'],$uid,$todo); 96 | } 97 | if(!$wf_process_log){ 98 | return ['msg'=>'流程步骤操作记录失败,数据库错误!!!','code'=>'-1']; 99 | } 100 | //日志记录 101 | $run_log = LogRepo::addRunLog($uid,$config['run_id'],$config,'ok'); 102 | if(!$run_log){ 103 | return ['msg'=>'消息记录失败,数据库错误!!!','code'=>'-1']; 104 | } 105 | } 106 | } -------------------------------------------------------------------------------- /app/Work/Service/TaskService.php: -------------------------------------------------------------------------------- 1 | make(Illuminate\Contracts\Console\Kernel::class); 34 | 35 | $status = $kernel->handle( 36 | $input = new Symfony\Component\Console\Input\ArgvInput, 37 | new Symfony\Component\Console\Output\ConsoleOutput 38 | ); 39 | 40 | /* 41 | |-------------------------------------------------------------------------- 42 | | Shutdown The Application 43 | |-------------------------------------------------------------------------- 44 | | 45 | | Once Artisan has finished running, we will fire off the shutdown events 46 | | so that any final work may be done by the application before we shut 47 | | down the process. This is the last thing to happen to the request. 48 | | 49 | */ 50 | 51 | $kernel->terminate($input, $status); 52 | 53 | exit($status); 54 | -------------------------------------------------------------------------------- /bootstrap/app.php: -------------------------------------------------------------------------------- 1 | singleton( 30 | Illuminate\Contracts\Http\Kernel::class, 31 | App\Http\Kernel::class 32 | ); 33 | 34 | $app->singleton( 35 | Illuminate\Contracts\Console\Kernel::class, 36 | App\Console\Kernel::class 37 | ); 38 | 39 | $app->singleton( 40 | Illuminate\Contracts\Debug\ExceptionHandler::class, 41 | App\Exceptions\Handler::class 42 | ); 43 | 44 | /* 45 | |-------------------------------------------------------------------------- 46 | | Return The Application 47 | |-------------------------------------------------------------------------- 48 | | 49 | | This script returns the application instance. The instance is given to 50 | | the calling script so we can separate the building of the instances 51 | | from the actual running of the application and sending responses. 52 | | 53 | */ 54 | 55 | return $app; 56 | -------------------------------------------------------------------------------- /bootstrap/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "laravel/laravel", 3 | "description": "The Laravel Framework.", 4 | "keywords": ["framework", "laravel"], 5 | "license": "MIT", 6 | "type": "project", 7 | "require": { 8 | "php": ">=7.0.0", 9 | "fideloper/proxy": "~3.3", 10 | "koolkode/bpmn": "^0.2.4", 11 | "laravel/framework": "5.5.*", 12 | "laravel/tinker": "~1.0" 13 | }, 14 | "require-dev": { 15 | "filp/whoops": "~2.0", 16 | "fzaninotto/faker": "~1.4", 17 | "mockery/mockery": "~1.0", 18 | "phpunit/phpunit": "~6.0", 19 | "symfony/thanks": "^1.0" 20 | }, 21 | "autoload": { 22 | "classmap": [ 23 | "database/seeds", 24 | "database/factories" 25 | ], 26 | "psr-4": { 27 | "App\\": "app/" 28 | } 29 | }, 30 | "autoload-dev": { 31 | "psr-4": { 32 | "Tests\\": "tests/" 33 | } 34 | }, 35 | "extra": { 36 | "laravel": { 37 | "dont-discover": [ 38 | ] 39 | } 40 | }, 41 | "scripts": { 42 | "post-root-package-install": [ 43 | "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" 44 | ], 45 | "post-create-project-cmd": [ 46 | "@php artisan key:generate" 47 | ], 48 | "post-autoload-dump": [ 49 | "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", 50 | "@php artisan package:discover" 51 | ] 52 | }, 53 | "config": { 54 | "preferred-install": "dist", 55 | "sort-packages": true, 56 | "optimize-autoloader": true 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /config/broadcasting.php: -------------------------------------------------------------------------------- 1 | env('BROADCAST_DRIVER', 'null'), 19 | 20 | /* 21 | |-------------------------------------------------------------------------- 22 | | Broadcast Connections 23 | |-------------------------------------------------------------------------- 24 | | 25 | | Here you may define all of the broadcast connections that will be used 26 | | to broadcast events to other systems or over websockets. Samples of 27 | | each available type of connection are provided inside this array. 28 | | 29 | */ 30 | 31 | 'connections' => [ 32 | 33 | 'pusher' => [ 34 | 'driver' => 'pusher', 35 | 'key' => env('PUSHER_APP_KEY'), 36 | 'secret' => env('PUSHER_APP_SECRET'), 37 | 'app_id' => env('PUSHER_APP_ID'), 38 | 'options' => [ 39 | 'cluster' => env('PUSHER_APP_CLUSTER'), 40 | 'encrypted' => true, 41 | ], 42 | ], 43 | 44 | 'redis' => [ 45 | 'driver' => 'redis', 46 | 'connection' => 'default', 47 | ], 48 | 49 | 'log' => [ 50 | 'driver' => 'log', 51 | ], 52 | 53 | 'null' => [ 54 | 'driver' => 'null', 55 | ], 56 | 57 | ], 58 | 59 | ]; 60 | -------------------------------------------------------------------------------- /config/cache.php: -------------------------------------------------------------------------------- 1 | env('CACHE_DRIVER', 'file'), 19 | 20 | /* 21 | |-------------------------------------------------------------------------- 22 | | Cache Stores 23 | |-------------------------------------------------------------------------- 24 | | 25 | | Here you may define all of the cache "stores" for your application as 26 | | well as their drivers. You may even define multiple stores for the 27 | | same cache driver to group types of items stored in your caches. 28 | | 29 | */ 30 | 31 | 'stores' => [ 32 | 33 | 'apc' => [ 34 | 'driver' => 'apc', 35 | ], 36 | 37 | 'array' => [ 38 | 'driver' => 'array', 39 | ], 40 | 41 | 'database' => [ 42 | 'driver' => 'database', 43 | 'table' => 'cache', 44 | 'connection' => null, 45 | ], 46 | 47 | 'file' => [ 48 | 'driver' => 'file', 49 | 'path' => storage_path('framework/cache/data'), 50 | ], 51 | 52 | 'memcached' => [ 53 | 'driver' => 'memcached', 54 | 'persistent_id' => env('MEMCACHED_PERSISTENT_ID'), 55 | 'sasl' => [ 56 | env('MEMCACHED_USERNAME'), 57 | env('MEMCACHED_PASSWORD'), 58 | ], 59 | 'options' => [ 60 | // Memcached::OPT_CONNECT_TIMEOUT => 2000, 61 | ], 62 | 'servers' => [ 63 | [ 64 | 'host' => env('MEMCACHED_HOST', '127.0.0.1'), 65 | 'port' => env('MEMCACHED_PORT', 11211), 66 | 'weight' => 100, 67 | ], 68 | ], 69 | ], 70 | 71 | 'redis' => [ 72 | 'driver' => 'redis', 73 | 'connection' => 'default', 74 | ], 75 | 76 | ], 77 | 78 | /* 79 | |-------------------------------------------------------------------------- 80 | | Cache Key Prefix 81 | |-------------------------------------------------------------------------- 82 | | 83 | | When utilizing a RAM based store such as APC or Memcached, there might 84 | | be other applications utilizing the same cache. So, we'll specify a 85 | | value to get prefixed to all our keys so we can avoid collisions. 86 | | 87 | */ 88 | 89 | 'prefix' => env( 90 | 'CACHE_PREFIX', 91 | str_slug(env('APP_NAME', 'laravel'), '_').'_cache' 92 | ), 93 | 94 | ]; 95 | -------------------------------------------------------------------------------- /config/filesystems.php: -------------------------------------------------------------------------------- 1 | env('FILESYSTEM_DRIVER', 'local'), 17 | 18 | /* 19 | |-------------------------------------------------------------------------- 20 | | Default Cloud Filesystem Disk 21 | |-------------------------------------------------------------------------- 22 | | 23 | | Many applications store files both locally and in the cloud. For this 24 | | reason, you may specify a default "cloud" driver here. This driver 25 | | will be bound as the Cloud disk implementation in the container. 26 | | 27 | */ 28 | 29 | 'cloud' => env('FILESYSTEM_CLOUD', 's3'), 30 | 31 | /* 32 | |-------------------------------------------------------------------------- 33 | | Filesystem Disks 34 | |-------------------------------------------------------------------------- 35 | | 36 | | Here you may configure as many filesystem "disks" as you wish, and you 37 | | may even configure multiple disks of the same driver. Defaults have 38 | | been setup for each driver as an example of the required options. 39 | | 40 | | Supported Drivers: "local", "ftp", "s3", "rackspace" 41 | | 42 | */ 43 | 44 | 'disks' => [ 45 | 46 | 'local' => [ 47 | 'driver' => 'local', 48 | 'root' => storage_path('app'), 49 | ], 50 | 51 | 'public' => [ 52 | 'driver' => 'local', 53 | 'root' => storage_path('app/public'), 54 | 'url' => env('APP_URL').'/storage', 55 | 'visibility' => 'public', 56 | ], 57 | 58 | 's3' => [ 59 | 'driver' => 's3', 60 | 'key' => env('AWS_ACCESS_KEY_ID'), 61 | 'secret' => env('AWS_SECRET_ACCESS_KEY'), 62 | 'region' => env('AWS_DEFAULT_REGION'), 63 | 'bucket' => env('AWS_BUCKET'), 64 | ], 65 | 66 | ], 67 | 68 | ]; 69 | -------------------------------------------------------------------------------- /config/queue.php: -------------------------------------------------------------------------------- 1 | env('QUEUE_DRIVER', 'sync'), 19 | 20 | /* 21 | |-------------------------------------------------------------------------- 22 | | Queue Connections 23 | |-------------------------------------------------------------------------- 24 | | 25 | | Here you may configure the connection information for each server that 26 | | is used by your application. A default configuration has been added 27 | | for each back-end shipped with Laravel. You are free to add more. 28 | | 29 | */ 30 | 31 | 'connections' => [ 32 | 33 | 'sync' => [ 34 | 'driver' => 'sync', 35 | ], 36 | 37 | 'database' => [ 38 | 'driver' => 'database', 39 | 'table' => 'jobs', 40 | 'queue' => 'default', 41 | 'retry_after' => 90, 42 | ], 43 | 44 | 'beanstalkd' => [ 45 | 'driver' => 'beanstalkd', 46 | 'host' => 'localhost', 47 | 'queue' => 'default', 48 | 'retry_after' => 90, 49 | ], 50 | 51 | 'sqs' => [ 52 | 'driver' => 'sqs', 53 | 'key' => env('SQS_KEY', 'your-public-key'), 54 | 'secret' => env('SQS_SECRET', 'your-secret-key'), 55 | 'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'), 56 | 'queue' => env('SQS_QUEUE', 'your-queue-name'), 57 | 'region' => env('SQS_REGION', 'us-east-1'), 58 | ], 59 | 60 | 'redis' => [ 61 | 'driver' => 'redis', 62 | 'connection' => 'default', 63 | 'queue' => 'default', 64 | 'retry_after' => 90, 65 | ], 66 | 67 | ], 68 | 69 | /* 70 | |-------------------------------------------------------------------------- 71 | | Failed Queue Jobs 72 | |-------------------------------------------------------------------------- 73 | | 74 | | These options configure the behavior of failed queue job logging so you 75 | | can control which database and table are used to store the jobs that 76 | | have failed. You may change them to any database / table you wish. 77 | | 78 | */ 79 | 80 | 'failed' => [ 81 | 'database' => env('DB_CONNECTION', 'mysql'), 82 | 'table' => 'failed_jobs', 83 | ], 84 | 85 | ]; 86 | -------------------------------------------------------------------------------- /config/services.php: -------------------------------------------------------------------------------- 1 | [ 18 | 'domain' => env('MAILGUN_DOMAIN'), 19 | 'secret' => env('MAILGUN_SECRET'), 20 | ], 21 | 22 | 'ses' => [ 23 | 'key' => env('SES_KEY'), 24 | 'secret' => env('SES_SECRET'), 25 | 'region' => 'us-east-1', 26 | ], 27 | 28 | 'sparkpost' => [ 29 | 'secret' => env('SPARKPOST_SECRET'), 30 | ], 31 | 32 | 'stripe' => [ 33 | 'model' => App\User::class, 34 | 'key' => env('STRIPE_KEY'), 35 | 'secret' => env('STRIPE_SECRET'), 36 | ], 37 | 38 | ]; 39 | -------------------------------------------------------------------------------- /config/view.php: -------------------------------------------------------------------------------- 1 | [ 17 | resource_path('views'), 18 | ], 19 | 20 | /* 21 | |-------------------------------------------------------------------------- 22 | | Compiled View Path 23 | |-------------------------------------------------------------------------- 24 | | 25 | | This option determines where all the compiled Blade templates will be 26 | | stored for your application. Typically, this is within the storage 27 | | directory. However, as usual, you are free to change this value. 28 | | 29 | */ 30 | 31 | 'compiled' => realpath(storage_path('framework/views')), 32 | 33 | ]; 34 | -------------------------------------------------------------------------------- /database/.gitignore: -------------------------------------------------------------------------------- 1 | *.sqlite 2 | -------------------------------------------------------------------------------- /database/factories/UserFactory.php: -------------------------------------------------------------------------------- 1 | define(App\User::class, function (Faker $faker) { 17 | return [ 18 | 'name' => $faker->name, 19 | 'email' => $faker->unique()->safeEmail, 20 | 'password' => '$2y$10$TKh8H1.PfQx37YgCzwiKb.KjNyWgaHb9cbcoQgdIVFlYg7B77UdFm', // secret 21 | 'remember_token' => str_random(10), 22 | ]; 23 | }); 24 | -------------------------------------------------------------------------------- /database/migrations/2014_10_12_000000_create_users_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->string('name'); 19 | $table->string('email')->unique(); 20 | $table->string('password'); 21 | $table->rememberToken(); 22 | $table->timestamps(); 23 | }); 24 | } 25 | 26 | /** 27 | * Reverse the migrations. 28 | * 29 | * @return void 30 | */ 31 | public function down() 32 | { 33 | Schema::dropIfExists('users'); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /database/migrations/2014_10_12_100000_create_password_resets_table.php: -------------------------------------------------------------------------------- 1 | string('email')->index(); 18 | $table->string('token'); 19 | $table->timestamp('created_at')->nullable(); 20 | }); 21 | } 22 | 23 | /** 24 | * Reverse the migrations. 25 | * 26 | * @return void 27 | */ 28 | public function down() 29 | { 30 | Schema::dropIfExists('password_resets'); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /database/seeds/DatabaseSeeder.php: -------------------------------------------------------------------------------- 1 | call(UsersTableSeeder::class); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "scripts": { 4 | "dev": "npm run development", 5 | "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", 6 | "watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", 7 | "watch-poll": "npm run watch -- --watch-poll", 8 | "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js", 9 | "prod": "npm run production", 10 | "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" 11 | }, 12 | "devDependencies": { 13 | "axios": "^0.17", 14 | "bootstrap-sass": "^3.3.7", 15 | "cross-env": "^5.1", 16 | "jquery": "^3.2", 17 | "laravel-mix": "^1.0", 18 | "lodash": "^4.17.4", 19 | "vue": "^2.5.7" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /phpunit.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | ./tests/Feature 14 | 15 | 16 | 17 | ./tests/Unit 18 | 19 | 20 | 21 | 22 | ./app 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /public/.htaccess: -------------------------------------------------------------------------------- 1 | 2 | 3 | Options -MultiViews -Indexes 4 | 5 | 6 | RewriteEngine On 7 | 8 | # Handle Authorization Header 9 | RewriteCond %{HTTP:Authorization} . 10 | RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 11 | 12 | # Redirect Trailing Slashes If Not A Folder... 13 | RewriteCond %{REQUEST_FILENAME} !-d 14 | RewriteCond %{REQUEST_URI} (.+)/$ 15 | RewriteRule ^ %1 [L,R=301] 16 | 17 | # Handle Front Controller... 18 | RewriteCond %{REQUEST_FILENAME} !-d 19 | RewriteCond %{REQUEST_FILENAME} !-f 20 | RewriteRule ^ index.php [L] 21 | 22 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/favicon.ico -------------------------------------------------------------------------------- /public/index.php: -------------------------------------------------------------------------------- 1 | 8 | */ 9 | 10 | define('LARAVEL_START', microtime(true)); 11 | 12 | /* 13 | |-------------------------------------------------------------------------- 14 | | Register The Auto Loader 15 | |-------------------------------------------------------------------------- 16 | | 17 | | Composer provides a convenient, automatically generated class loader for 18 | | our application. We just need to utilize it! We'll simply require it 19 | | into the script here so that we don't have to worry about manual 20 | | loading any of our classes later on. It feels great to relax. 21 | | 22 | */ 23 | 24 | require __DIR__.'/../vendor/autoload.php'; 25 | 26 | /* 27 | |-------------------------------------------------------------------------- 28 | | Turn On The Lights 29 | |-------------------------------------------------------------------------- 30 | | 31 | | We need to illuminate PHP development, so let us turn on the lights. 32 | | This bootstraps the framework and gets it ready for use, then it 33 | | will load up this application so that we can run it and send 34 | | the responses back to the browser and delight our users. 35 | | 36 | */ 37 | 38 | $app = require_once __DIR__.'/../bootstrap/app.php'; 39 | 40 | /* 41 | |-------------------------------------------------------------------------- 42 | | Run The Application 43 | |-------------------------------------------------------------------------- 44 | | 45 | | Once we have the application, we can handle the incoming request 46 | | through the kernel, and send the associated response back to 47 | | the client's browser allowing them to enjoy the creative 48 | | and wonderful application we have prepared for them. 49 | | 50 | */ 51 | 52 | $kernel = $app->make(Illuminate\Contracts\Http\Kernel::class); 53 | 54 | $response = $kernel->handle( 55 | $request = Illuminate\Http\Request::capture() 56 | ); 57 | 58 | $response->send(); 59 | 60 | $kernel->terminate($request, $response); 61 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /public/static/h-ui.admin/common.css: -------------------------------------------------------------------------------- 1 | .page { 2 | text-align: center; 3 | margin: 15px 0; 4 | } 5 | .page * { 6 | font-size: 12px; 7 | } 8 | .page > div > * { 9 | width: 30px; 10 | height: 26px; 11 | text-align: center; 12 | line-height: 26px; 13 | display: inline-block; 14 | margin: 3px; 15 | } 16 | .page a { 17 | color: #666; 18 | border: 1px solid #ccc; 19 | } 20 | .page a:hover { 21 | background-color: #5a98de; 22 | text-decoration: none; 23 | } 24 | .page span.current { 25 | background: #5a98de; 26 | color: #fff; 27 | } 28 | .page-bootstrap { 29 | text-align: center; 30 | margin: 15px 0; 31 | } 32 | .page-bootstrap li { 33 | display: inline-block; 34 | } 35 | .page-bootstrap li a, 36 | .page-bootstrap li span { 37 | color: #666; 38 | border: 1px solid #ccc; 39 | width: auto; 40 | min-width: 30px; 41 | height: 26px; 42 | text-align: center; 43 | line-height: 26px; 44 | display: inline-block; 45 | margin: 3px; 46 | } 47 | .page-bootstrap li a:hover { 48 | background-color: #5a98de; 49 | text-decoration: none; 50 | } 51 | .page-bootstrap li.active span { 52 | background: #5a98de; 53 | color: #fff; 54 | } 55 | .page-bootstrap li.disabled span { 56 | background: #e0e0e0; 57 | } -------------------------------------------------------------------------------- /public/static/h-ui.admin/css/H-ui.login.css: -------------------------------------------------------------------------------- 1 | @charset "utf-8"; 2 | /* -----------H-ui前端框架------------- 3 | * H-ui.login.css v2.2.1 后台登录页样式 4 | * http://www.h-ui.net/ 5 | * Created & Modified by guojunhui 6 | * Date modified 2015.6.5 7 | * 8 | * Copyright 2013-2017 北京颖杰联创科技有限公司 All rights reserved. 9 | * Licensed under MIT license. 10 | * http://opensource.org/licenses/MIT 11 | * 12 | */ 13 | html, body{ height:100%} 14 | body{font-size:14px} 15 | 16 | .header,.footer{ position:absolute; left:0; right:0; width:100%; z-index:99} 17 | .header{top:0; height:60px; background:rgba(255, 255, 255, 0.35) no-repeat 0 center;} 18 | 19 | .loginWraper{ position:absolute;width:100%; left:0; top:0; bottom:0; right:0; z-index:1; background:#3283AC url(../images/admin-login-bg.jpg) no-repeat center;-webkit-background-size: cover; 20 | -moz-background-size: cover; 21 | -o-background-size: cover; 22 | background-size: cover;} 23 | .loginBox{ position:absolute; width:617px; height:330px; background:url(../images/admin-loginform-bg.png) no-repeat; left:50%; top:50%; margin-left:-309px; margin-top:-184px; padding-top:38px} 24 | @media (max-width:617px) { 25 | .loginbox{ width:100%; position:static; margin-top:0; margin-left:0;} 26 | } 27 | .loginBox .row{margin-top:20px;} 28 | .loginBox .row .form-label .Hui-iconfont{ font-size:24px} 29 | .loginBox .input-text{ width:360px} 30 | @media (max-width:617px) { 31 | .loginBox .input-text{ width:80%} 32 | } 33 | .yzm a{ color:#07a0d6; font-size:12px} 34 | 35 | #span_msg{ font-size:14px; color:Red; line-height:40px; height:40px; margin-left:10px; width:160px;; float:left} 36 | 37 | .hd_msg{font-size:12px; color:#fff; height:30px; z-index:100;position: absolute; padding-left:50px; padding-top:5px} 38 | .hd_msg a{ color:#fff} 39 | .hd_msg a:hover{ color:#fff; text-decoration:underline} 40 | 41 | .footer{ height:46px; line-height:46px; bottom:0; text-align:center; color:#fff; font-size:12px; background-color:rgba(255, 255, 255, 0.35) no-repeat 0 center;} 42 | 43 | #ie6-warning{background:#fff url(/jscss/demoimg/201006/warning.gif) no-repeat 3px center;position:absolute;top:0;left:0;font-size:12px;color:#333;width:97%;padding: 2px 15px 2px 23px;text-align:left} 44 | #ie6-warning a {text-decoration:none} -------------------------------------------------------------------------------- /public/static/h-ui.admin/css/keen-dashboards.css: -------------------------------------------------------------------------------- 1 | .keen-dashboard { 2 | background: #f2f2f2; 3 | font-family: 'Gotham Rounded SSm A', 'Gotham Rounded SSm B', 'Helvetica Neue', Helvetica, Arial, sans-serif; 4 | } 5 | 6 | .keen-dataviz { 7 | background: #fff; 8 | border: 1px solid #e7e7e7; 9 | border-radius: 2px; 10 | box-sizing: border-box; 11 | } 12 | .keen-dataviz-title { 13 | border-bottom: 1px solid #e7e7e7; 14 | border-radius: 2px 2px 0 0; 15 | font-size: 13px; 16 | padding: 2px 10px 0; 17 | text-transform: uppercase; 18 | } 19 | .keen-dataviz-stage { 20 | padding: 10px; 21 | } 22 | 23 | .keen-dataviz-notes { 24 | background: #fbfbfb; 25 | border-radius: 0 0 2px 2px; 26 | border-top: 1px solid #e7e7e7; 27 | font-family: 'Helvetica Neue', Helvetica, sans-serif; 28 | font-size: 11px; 29 | padding: 0 10px; 30 | } 31 | 32 | .keen-dataviz .keen-dataviz-metric { 33 | border-radius: 2px; 34 | } 35 | 36 | .keen-dataviz .keen-spinner-indicator { 37 | border-top-color: rgba(0, 187, 222, .4); 38 | } 39 | 40 | .keen-dashboard .chart-wrapper { 41 | background: #fff; 42 | border: 1px solid #e2e2e2; 43 | border-radius: 3px; 44 | margin-bottom: 10px; 45 | } 46 | .keen-dashboard .chart-wrapper .chart-title { 47 | border-bottom: 1px solid #d7d7d7; 48 | color: #666; 49 | font-size: 14px; 50 | font-weight: 200; 51 | padding: 7px 10px 4px; 52 | } 53 | 54 | .keen-dashboard .chart-wrapper .chart-stage { 55 | overflow: hidden; 56 | padding: 5px 10px; 57 | position: relative; 58 | } 59 | 60 | .keen-dashboard .chart-wrapper .chart-notes { 61 | background: #fbfbfb; 62 | border-top: 1px solid #e2e2e2; 63 | color: #808080; 64 | font-size: 12px; 65 | padding: 8px 10px 5px; 66 | } 67 | 68 | .keen-dashboard .chart-wrapper .keen-dataviz, 69 | .keen-dashboard .chart-wrapper .keen-dataviz-title, 70 | .keen-dashboard .chart-stage .chart-title { 71 | border: medium none; 72 | } 73 | -------------------------------------------------------------------------------- /public/static/h-ui.admin/css/style.css: -------------------------------------------------------------------------------- 1 | @charset "utf-8"; 2 | /* 你自己的样式 */ 3 | 4 | -------------------------------------------------------------------------------- /public/static/h-ui.admin/images/acrossTab/acrossTab-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui.admin/images/acrossTab/acrossTab-2.png -------------------------------------------------------------------------------- /public/static/h-ui.admin/images/admin-login-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui.admin/images/admin-login-bg.jpg -------------------------------------------------------------------------------- /public/static/h-ui.admin/images/admin-loginform-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui.admin/images/admin-loginform-bg.png -------------------------------------------------------------------------------- /public/static/h-ui.admin/images/cn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui.admin/images/cn.gif -------------------------------------------------------------------------------- /public/static/h-ui.admin/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui.admin/images/loading.gif -------------------------------------------------------------------------------- /public/static/h-ui.admin/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui.admin/images/logo.png -------------------------------------------------------------------------------- /public/static/h-ui.admin/images/um.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui.admin/images/um.gif -------------------------------------------------------------------------------- /public/static/h-ui.admin/js/de_DE.txt: -------------------------------------------------------------------------------- 1 | { 2 | "processing": "处理中...", 3 | "lengthMenu": "每页显示 _MENU_ 条", 4 | "zeroRecords": "没有找到匹配的记录", 5 | "sProcessing": "<img src=’./loading.gif’ />", 6 | "info": "显示 _START_ 到 _END_ ,共 _TOTAL_ 条", 7 | "infoEmpty": "0条", 8 | "infoFiltered": "(从 _MAX_ 条中过滤)", 9 | "infoPostFix": "", 10 | "search": "当前检索", 11 | "url": "", 12 | "paginate": { 13 | "first": "第一页", 14 | "previous": "上一页", 15 | "next": "下一页", 16 | "last": "最后一页" 17 | } 18 | } -------------------------------------------------------------------------------- /public/static/h-ui.admin/skin/blue/acrossTab-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui.admin/skin/blue/acrossTab-bg.png -------------------------------------------------------------------------------- /public/static/h-ui.admin/skin/blue/acrossTab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui.admin/skin/blue/acrossTab.png -------------------------------------------------------------------------------- /public/static/h-ui.admin/skin/blue/icon_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui.admin/skin/blue/icon_arrow.png -------------------------------------------------------------------------------- /public/static/h-ui.admin/skin/blue/skin.css: -------------------------------------------------------------------------------- 1 | @charset "utf-8"; 2 | /* 蓝色 */ 3 | /*全站默认字体颜色*/ 4 | a{color:#333}a:hover,a:focus,.maincolor,.maincolor a{color:#06c} 5 | .navbar{ background:#2d6dcc}/*顶部导航*/ 6 | .navbar-logo,.navbar-logo-m,.navbar-slogan,.navbar-userbar{color:#fff}/*logo 及 用户信息文字颜色*/ 7 | .navbar-logo:hover,.navbar-logo-m:hover{color:#fff;text-decoration: none} 8 | 9 | .navbar-nav > ul > li, .navbar-nav > ul > li > a{ color:#fff}/*顶部导航文字颜色*/ 10 | .navbar-userbar > ul> > li,.navbar-userbar > ul> > li > a{ color:#fff} 11 | 12 | .Hui-aside{}/*侧边栏*/ 13 | .Hui-aside .menu_dropdown dt{color:#333}/*左侧二级导航菜单*/ 14 | .Hui-aside .menu_dropdown dt:hover{color:#148cf1} 15 | .Hui-aside .menu_dropdown dt:hover [class^="icon-"]{ color:#7e8795} 16 | .Hui-aside .menu_dropdown li a{color:#666;border-bottom: 1px solid #e5e5e5} 17 | .Hui-aside .menu_dropdown li a:hover{color:#148cf1;background-color:#fafafa} 18 | .Hui-aside .menu_dropdown li.current a,.menu_dropdown li.current a:hover{color:#148cf1} 19 | .Hui-aside .menu_dropdown dt .Hui-iconfont{ color:#a0a7b1} 20 | .Hui-aside .menu_dropdown dt .menu_dropdown-arrow{ color:#b6b7b8} 21 | .dislpayArrow a{background:url(icon_arrow.png) no-repeat 0 0} 22 | .tabBar {border-bottom: 2px solid #2d6dcc} 23 | .tabBar span.current{background-color:#2d6dcc} -------------------------------------------------------------------------------- /public/static/h-ui.admin/skin/default/acrossTab-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui.admin/skin/default/acrossTab-bg.png -------------------------------------------------------------------------------- /public/static/h-ui.admin/skin/default/acrossTab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui.admin/skin/default/acrossTab.png -------------------------------------------------------------------------------- /public/static/h-ui.admin/skin/default/icon_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui.admin/skin/default/icon_arrow.png -------------------------------------------------------------------------------- /public/static/h-ui.admin/skin/default/skin.css: -------------------------------------------------------------------------------- 1 | @charset "utf-8"; 2 | /* 默认 黑色 */ 3 | /*全站默认字体颜色*/ 4 | a{color:#333}a:hover,a:focus,.maincolor,.maincolor a{color:#06c} 5 | .navbar{ background:#222}/*顶部导航*/ 6 | .navbar-logo,.navbar-logo-m,.navbar-slogan,.navbar-userbar{color:#fff}/*logo 及 用户信息文字颜色*/ 7 | .navbar-logo:hover,.navbar-logo-m:hover{color:#fff;text-decoration: none} 8 | 9 | .navbar-nav > ul > li, .navbar-nav > ul > li > a{ color:#fff}/*顶部导航文字颜色*/ 10 | .navbar-userbar > ul> > li,.navbar-userbar > ul> > li > a{ color:#fff} 11 | 12 | .Hui-aside{}/*侧边栏*/ 13 | .Hui-aside .menu_dropdown dt{color:#333}/*左侧二级导航菜单*/ 14 | .Hui-aside .menu_dropdown dt:hover{color:#148cf1} 15 | .Hui-aside .menu_dropdown dt:hover [class^="icon-"]{ color:#7e8795} 16 | .Hui-aside .menu_dropdown li a{color:#666;border-bottom: 1px solid #e5e5e5} 17 | .Hui-aside .menu_dropdown li a:hover{color:#148cf1;background-color:#fafafa} 18 | .Hui-aside .menu_dropdown li.current a,.menu_dropdown li.current a:hover{color:#148cf1} 19 | .Hui-aside .menu_dropdown dt .Hui-iconfont{ color:#a0a7b1} 20 | .Hui-aside .menu_dropdown dt .menu_dropdown-arrow{ color:#b6b7b8} 21 | .dislpayArrow a{background:url(icon_arrow.png) no-repeat 0 0} -------------------------------------------------------------------------------- /public/static/h-ui.admin/skin/green/acrossTab-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui.admin/skin/green/acrossTab-bg.png -------------------------------------------------------------------------------- /public/static/h-ui.admin/skin/green/acrossTab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui.admin/skin/green/acrossTab.png -------------------------------------------------------------------------------- /public/static/h-ui.admin/skin/green/icon_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui.admin/skin/green/icon_arrow.png -------------------------------------------------------------------------------- /public/static/h-ui.admin/skin/green/skin.css: -------------------------------------------------------------------------------- 1 | @charset "utf-8"; 2 | /* 绿色 */ 3 | /*全站默认字体颜色*/ 4 | a{color:#333}a:hover,a:focus,.maincolor,.maincolor a{color:#06c} 5 | .navbar{ background:#19a97b}/*顶部导航*/ 6 | .navbar-logo,.navbar-logo-m,.navbar-slogan,.navbar-userbar{color:#fff}/*logo 及 用户信息文字颜色*/ 7 | .navbar-logo:hover,.navbar-logo-m:hover{color:#fff;text-decoration: none} 8 | 9 | .navbar-nav > ul > li, .navbar-nav > ul > li > a{ color:#fff}/*顶部导航文字颜色*/ 10 | .navbar-userbar > ul> > li,.navbar-userbar > ul> > li > a{ color:#fff} 11 | 12 | .Hui-aside{}/*侧边栏*/ 13 | .Hui-aside .menu_dropdown dt{color:#333}/*左侧二级导航菜单*/ 14 | .Hui-aside .menu_dropdown dt:hover{color:#148cf1} 15 | .Hui-aside .menu_dropdown dt:hover [class^="icon-"]{ color:#7e8795} 16 | .Hui-aside .menu_dropdown li a{color:#666;border-bottom: 1px solid #e5e5e5} 17 | .Hui-aside .menu_dropdown li a:hover{color:#148cf1;background-color:#fafafa} 18 | .Hui-aside .menu_dropdown li.current a,.menu_dropdown li.current a:hover{color:#148cf1} 19 | .Hui-aside .menu_dropdown dt .Hui-iconfont{ color:#a0a7b1} 20 | .Hui-aside .menu_dropdown dt .menu_dropdown-arrow{ color:#b6b7b8} 21 | .dislpayArrow a{background:url(icon_arrow.png) no-repeat 0 0} 22 | .tabBar {border-bottom: 2px solid #19a97b} 23 | .tabBar span.current{background-color:#19a97b} -------------------------------------------------------------------------------- /public/static/h-ui.admin/skin/orange/acrossTab-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui.admin/skin/orange/acrossTab-bg.png -------------------------------------------------------------------------------- /public/static/h-ui.admin/skin/orange/acrossTab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui.admin/skin/orange/acrossTab.png -------------------------------------------------------------------------------- /public/static/h-ui.admin/skin/orange/icon_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui.admin/skin/orange/icon_arrow.png -------------------------------------------------------------------------------- /public/static/h-ui.admin/skin/orange/skin.css: -------------------------------------------------------------------------------- 1 | @charset "utf-8"; 2 | /* 橙色 */ 3 | /*全站默认字体颜色*/ 4 | a{color:#333}a:hover,a:focus,.maincolor,.maincolor a{color:#06c} 5 | .navbar{ background:#ff4a00}/*顶部导航*/ 6 | .navbar-logo,.navbar-logo-m,.navbar-slogan,.navbar-userbar{color:#fff}/*logo 及 用户信息文字颜色*/ 7 | .navbar-logo:hover,.navbar-logo-m:hover{color:#fff;text-decoration: none} 8 | 9 | .navbar-nav > ul > li, .navbar-nav > ul > li > a{ color:#fff}/*顶部导航文字颜色*/ 10 | .navbar-userbar > ul> > li,.navbar-userbar > ul> > li > a{ color:#fff} 11 | 12 | .Hui-aside{}/*侧边栏*/ 13 | .Hui-aside .menu_dropdown dt{color:#333}/*左侧二级导航菜单*/ 14 | .Hui-aside .menu_dropdown dt:hover{color:#148cf1} 15 | .Hui-aside .menu_dropdown dt:hover [class^="icon-"]{ color:#7e8795} 16 | .Hui-aside .menu_dropdown li a{color:#666;border-bottom: 1px solid #e5e5e5} 17 | .Hui-aside .menu_dropdown li a:hover{color:#148cf1;background-color:#fafafa} 18 | .Hui-aside .menu_dropdown li.current a,.menu_dropdown li.current a:hover{color:#148cf1} 19 | .Hui-aside .menu_dropdown dt .Hui-iconfont{ color:#a0a7b1} 20 | .Hui-aside .menu_dropdown dt .menu_dropdown-arrow{ color:#b6b7b8} 21 | .dislpayArrow a{background:url(icon_arrow.png) no-repeat 0 0} 22 | .tabBar {border-bottom: 2px solid #ff4a00} 23 | .tabBar span.current{background-color:#ff4a00} -------------------------------------------------------------------------------- /public/static/h-ui.admin/skin/red/acrossTab-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui.admin/skin/red/acrossTab-bg.png -------------------------------------------------------------------------------- /public/static/h-ui.admin/skin/red/acrossTab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui.admin/skin/red/acrossTab.png -------------------------------------------------------------------------------- /public/static/h-ui.admin/skin/red/icon_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui.admin/skin/red/icon_arrow.png -------------------------------------------------------------------------------- /public/static/h-ui.admin/skin/red/skin.css: -------------------------------------------------------------------------------- 1 | @charset "utf-8"; 2 | /* 红色 */ 3 | /*全站默认字体颜色*/ 4 | a{color:#333}a:hover,a:focus,.maincolor,.maincolor a{color:#06c} 5 | .navbar{ background:#c81623}/*顶部导航*/ 6 | .navbar-logo,.navbar-logo-m,.navbar-slogan,.navbar-userbar{color:#fff}/*logo 及 用户信息文字颜色*/ 7 | .navbar-logo:hover,.navbar-logo-m:hover{color:#fff;text-decoration: none} 8 | 9 | .navbar-nav > ul > li, .navbar-nav > ul > li > a{ color:#fff}/*顶部导航文字颜色*/ 10 | .navbar-userbar > ul> > li,.navbar-userbar > ul> > li > a{ color:#fff} 11 | 12 | .Hui-aside{}/*侧边栏*/ 13 | .Hui-aside .menu_dropdown dt{color:#333}/*左侧二级导航菜单*/ 14 | .Hui-aside .menu_dropdown dt:hover{color:#148cf1} 15 | .Hui-aside .menu_dropdown dt:hover [class^="icon-"]{ color:#7e8795} 16 | .Hui-aside .menu_dropdown li a{color:#666;border-bottom: 1px solid #e5e5e5} 17 | .Hui-aside .menu_dropdown li a:hover{color:#148cf1;background-color:#fafafa} 18 | .Hui-aside .menu_dropdown li.current a,.menu_dropdown li.current a:hover{color:#148cf1} 19 | .Hui-aside .menu_dropdown dt .Hui-iconfont{ color:#a0a7b1} 20 | .Hui-aside .menu_dropdown dt .menu_dropdown-arrow{ color:#b6b7b8} 21 | .dislpayArrow a{background:url(icon_arrow.png) no-repeat 0 0} 22 | .tabBar {border-bottom: 2px solid #c81623} 23 | .tabBar span.current{background-color:#c81623} -------------------------------------------------------------------------------- /public/static/h-ui.admin/skin/yellow/acrossTab-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui.admin/skin/yellow/acrossTab-bg.png -------------------------------------------------------------------------------- /public/static/h-ui.admin/skin/yellow/acrossTab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui.admin/skin/yellow/acrossTab.png -------------------------------------------------------------------------------- /public/static/h-ui.admin/skin/yellow/icon_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui.admin/skin/yellow/icon_arrow.png -------------------------------------------------------------------------------- /public/static/h-ui.admin/skin/yellow/skin.css: -------------------------------------------------------------------------------- 1 | @charset "utf-8"; 2 | /* 黄色 */ 3 | /*全站默认字体颜色*/ 4 | a{color:#333}a:hover,a:focus,.maincolor,.maincolor a{color:#06c} 5 | .navbar{ background:#ffd200}/*顶部导航*/ 6 | .navbar-logo,.navbar-logo-m,.navbar-slogan,.navbar-userbar{color:#282828}/*logo 及 用户信息文字颜色*/ 7 | .navbar-logo:hover,.navbar-logo-m:hover{color:#282828;text-decoration: none} 8 | 9 | .navbar-nav > ul > li, .navbar-nav > ul > li > a{ color:#282828}/*顶部导航文字颜色*/ 10 | .navbar-userbar > ul> > li,.navbar-userbar > ul> > li > a{ color:#282828} 11 | 12 | .Hui-aside{}/*侧边栏*/ 13 | .Hui-aside .menu_dropdown dt{color:#333}/*左侧二级导航菜单*/ 14 | .Hui-aside .menu_dropdown dt:hover{color:#148cf1} 15 | .Hui-aside .menu_dropdown dt:hover [class^="icon-"]{ color:#7e8795} 16 | .Hui-aside .menu_dropdown li a{color:#666;border-bottom: 1px solid #e5e5e5} 17 | .Hui-aside .menu_dropdown li a:hover{color:#148cf1;background-color:#fafafa} 18 | .Hui-aside .menu_dropdown li.current a,.menu_dropdown li.current a:hover{color:#148cf1} 19 | .Hui-aside .menu_dropdown dt .Hui-iconfont{ color:#a0a7b1} 20 | .Hui-aside .menu_dropdown dt .menu_dropdown-arrow{ color:#b6b7b8} 21 | .dislpayArrow a{background:url(icon_arrow.png) no-repeat 0 0} 22 | .tabBar {border-bottom: 2px solid #ffd200} 23 | .tabBar span.current{background-color:#ffd200;color:#282828} -------------------------------------------------------------------------------- /public/static/h-ui/css/H-ui.ie.css: -------------------------------------------------------------------------------- 1 | /* -----------H-ui前端框架------------- 2 | * H-ui.ie.css v1.0 3 | * http://www.h-ui.net/ 4 | * Created & Modified by guojunhui 5 | * Date modified 2016.05.02 6 | * 7 | * Copyright 2013-2016 北京颖杰联创科技有限公司 All rights reserved. 8 | * Licensed under MIT license. 9 | * http://opensource.org/licenses/MIT 10 | * 11 | */ 12 | @charset "utf-8"; 13 | .navbar-fixed-top{ border-bottom:solid 1px #eee} 14 | .col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12{ float:left} 15 | .col-md-12{width:100%} 16 | .col-md-11{width:91.66666666666666%} 17 | .col-md-10{width:83.33333333333334%} 18 | .col-md-9{width:75%} 19 | .col-md-8{width:66.66666666666666%} 20 | .col-md-7{width:58.333333333333336%} 21 | .col-md-6{width:50%} 22 | .col-md-5{width:41.66666666666667%} 23 | .col-md-4{width:33.33333333333333%} 24 | .col-md-3{width:25%} 25 | .col-md-2{width:16.666666666666664%} 26 | .col-md-1{width:8.333333333333332%} 27 | .col-md-pull-12{right:100%} 28 | .col-md-pull-11{right:91.66666666666666%} 29 | .col-md-pull-10{right:83.33333333333334%} 30 | .col-md-pull-9{right:75%} 31 | .col-md-pull-8{right:66.66666666666666%} 32 | .col-md-pull-7{right:58.333333333333336%} 33 | .col-md-pull-6{right:50%} 34 | .col-md-pull-5{right:41.66666666666667%} 35 | .col-md-pull-4{right:33.33333333333333%} 36 | .col-md-pull-3{right:25%} 37 | .col-md-pull-2{right:16.666666666666664%} 38 | .col-md-pull-1{right:8.333333333333332%} 39 | .col-md-pull-0{right:0} 40 | .col-md-push-12{left:100%} 41 | .col-md-push-11{left:91.66666666666666%} 42 | .col-md-push-10{left:83.33333333333334%} 43 | .col-md-push-9{left:75%} 44 | .col-md-push-8{left:66.66666666666666%} 45 | .col-md-push-7{left:58.333333333333336%} 46 | .col-md-push-6{left:50%} 47 | .col-md-push-5{left:41.66666666666667%} 48 | .col-md-push-4{left:33.33333333333333%} 49 | .col-md-push-3{left:25%} 50 | .col-md-push-2{left:16.666666666666664%} 51 | .col-md-push-1{left:8.333333333333332%} 52 | .col-md-push-0{left:0} 53 | .col-md-offset-12{margin-left:100%} 54 | .col-md-offset-11{margin-left:91.66666666666666%} 55 | .col-md-offset-10{margin-left:83.33333333333334%} 56 | .col-md-offset-9{margin-left:75%} 57 | .col-md-offset-8{margin-left:66.66666666666666%} 58 | .col-md-offset-7{margin-left:58.333333333333336%} 59 | .col-md-offset-6{margin-left:50%} 60 | .col-md-offset-5{margin-left:41.66666666666667%} 61 | .col-md-offset-4{margin-left:33.33333333333333%} 62 | .col-md-offset-3{margin-left:25%} 63 | .col-md-offset-2{margin-left:16.666666666666664%} 64 | .col-md-offset-1{margin-left:8.333333333333332%} 65 | .col-md-offset-0{margin-left:0} 66 | 67 | -------------------------------------------------------------------------------- /public/static/h-ui/css/H-ui.reset.css: -------------------------------------------------------------------------------- 1 | @charset "utf-8"; 2 | /* -----------H-ui前端框架------------- 3 | * H-ui.reset.css v1.2 重定义浏览器默认样式 4 | * http://www.h-ui.net/ 5 | * Created & Modified by guojunhui 6 | * Date modified 2014.10.09 7 | * 8 | * Copyright 2013-2015 北京颖杰联创科技有限公司 All rights reserved. 9 | * Licensed under MIT license. 10 | * http://opensource.org/licenses/MIT 11 | * 12 | */ 13 | /*1 重定义浏览器默认样式 14 | Name: style_reset 15 | Level: Global 16 | Explain: 重定义浏览器默认样式 17 | Last Modify: jackying 18 | */ 19 | *{word-wrap:break-word} 20 | html,body,h1,h2,h3,h4,h5,h6,hr,p,iframe,dl,dt,dd,ul,ol,li,pre,form,button,input,textarea,th,td,fieldset{margin:0;padding:0} 21 | ul,ol,dl{list-style-type:none} 22 | html,body{*position:static} 23 | html{font-family: sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%} 24 | address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:400} 25 | input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit} 26 | input,button{overflow: visible;vertical-align:middle;outline:none} 27 | body,th,td,button,input,select,textarea{font-family:"Microsoft Yahei","Hiragino Sans GB","Helvetica Neue",Helvetica,tahoma,arial,Verdana,sans-serif,"WenQuanYi Micro Hei","\5B8B\4F53";font-size:12px;color: #333;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing:grayscale} 28 | body{line-height:1.6} 29 | h1,h2,h3,h4,h5,h6{font-size:100%} 30 | a,area{outline:none;blr:expression(this.onFocus=this.blur())} 31 | a{text-decoration:none;cursor: pointer} 32 | a:hover{text-decoration:underline;outline:none} 33 | a.ie6:hover{zoom:1} 34 | a:focus{outline:none} 35 | a:hover,a:active{outline:none}:focus{outline:none} 36 | sub,sup{vertical-align:baseline} 37 | button,input[type="button"], input[type="submit"] {line-height:normal !important;} 38 | /*img*/ 39 | img{border:0;vertical-align:middle} 40 | a img,img{-ms-interpolation-mode:bicubic} 41 | .img-responsive{max-width: 100%;height: auto} 42 | 43 | /*IE下a:hover 背景闪烁*/ 44 | *html{overflow:-moz-scrollbars-vertical;zoom:expression(function(ele){ele.style.zoom = "1";document.execCommand("BackgroundImageCache",false,true)}(this))} 45 | 46 | /*HTML5 reset*/ 47 | header,footer,section,aside,details,menu,article,section,nav,address,hgroup,figure,figcaption,legend{display:block;margin:0;padding:0}time{display:inline} 48 | audio,canvas,video{display:inline-block;*display:inline;*zoom:1} 49 | audio:not([controls]){display:none} 50 | legend{width:100%;margin-bottom:20px;font-size:21px;line-height:40px;border:0;border-bottom:1px solid #e5e5e5} 51 | legend small{font-size:15px;color:#999} 52 | svg:not(:root) {overflow: hidden} 53 | fieldset {border-width:0;padding: 0.35em 0.625em 0.75em;margin: 0 2px;border: 1px solid #c0c0c0} 54 | input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button {height: auto} 55 | input[type="search"] {-webkit-appearance: textfield; /* 1 */-moz-box-sizing: content-box;-webkit-box-sizing: content-box; /* 2 */box-sizing: content-box} 56 | input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration {-webkit-appearance: none} 57 | /* 58 | Name: style_clearfix 59 | Example: class="clearfix|cl" 60 | Explain: Clearfix(简写cl)避免因子元素浮动而导致的父元素高度缺失能问题 61 | */ 62 | .cl:after,.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}.cl,.clearfix{zoom:1} -------------------------------------------------------------------------------- /public/static/h-ui/images/Hui-tags/empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/Hui-tags/empty.png -------------------------------------------------------------------------------- /public/static/h-ui/images/acrossTab/acrossTab-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/acrossTab/acrossTab-bg.png -------------------------------------------------------------------------------- /public/static/h-ui/images/acrossTab/acrossTab-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/acrossTab/acrossTab-close.png -------------------------------------------------------------------------------- /public/static/h-ui/images/acrossTab/acrossTab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/acrossTab/acrossTab.png -------------------------------------------------------------------------------- /public/static/h-ui/images/dataTable/sort_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/dataTable/sort_asc.png -------------------------------------------------------------------------------- /public/static/h-ui/images/dataTable/sort_both.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/dataTable/sort_both.png -------------------------------------------------------------------------------- /public/static/h-ui/images/dataTable/sort_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/dataTable/sort_desc.png -------------------------------------------------------------------------------- /public/static/h-ui/images/dropDown/icon-jt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/dropDown/icon-jt.png -------------------------------------------------------------------------------- /public/static/h-ui/images/face/201.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/201.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/202.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/202.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/203.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/203.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/204.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/204.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/205.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/205.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/206.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/206.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/207.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/207.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/208.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/208.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/209.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/209.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/210.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/210.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/0.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/1.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/10.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/10.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/100.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/100.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/101.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/101.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/102.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/102.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/103.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/103.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/104.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/104.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/105.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/105.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/106.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/106.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/11.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/11.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/12.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/12.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/13.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/13.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/14.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/14.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/15.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/15.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/16.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/18.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/18.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/19.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/19.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/2.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/20.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/20.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/21.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/21.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/22.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/22.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/23.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/23.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/24.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/24.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/25.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/25.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/26.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/26.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/27.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/27.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/28.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/28.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/29.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/29.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/3.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/30.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/30.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/31.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/31.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/32.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/33.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/33.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/34.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/34.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/35.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/35.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/36.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/36.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/37.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/37.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/38.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/38.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/39.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/39.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/4.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/40.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/40.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/41.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/41.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/42.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/42.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/43.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/43.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/44.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/44.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/45.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/45.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/46.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/46.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/47.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/47.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/48.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/48.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/49.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/49.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/5.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/50.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/50.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/51.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/51.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/52.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/52.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/53.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/53.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/54.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/54.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/55.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/55.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/56.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/56.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/57.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/57.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/58.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/58.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/59.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/59.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/6.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/60.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/60.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/61.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/61.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/62.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/62.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/63.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/63.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/64.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/64.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/65.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/65.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/66.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/66.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/67.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/67.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/68.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/68.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/69.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/69.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/7.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/70.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/70.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/71.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/71.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/72.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/72.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/73.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/73.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/74.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/74.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/75.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/75.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/76.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/76.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/77.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/77.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/78.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/78.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/79.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/79.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/8.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/80.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/80.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/81.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/81.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/82.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/82.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/83.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/83.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/84.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/84.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/85.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/85.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/86.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/86.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/87.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/87.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/88.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/88.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/89.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/89.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/9.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/90.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/90.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/91.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/91.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/92.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/92.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/93.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/93.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/94.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/94.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/95.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/95.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/96.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/96.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/97.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/97.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/98.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/98.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/face/QQ/99.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/face/QQ/99.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/iCheck/aero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/iCheck/aero.png -------------------------------------------------------------------------------- /public/static/h-ui/images/iCheck/aero@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/iCheck/aero@2x.png -------------------------------------------------------------------------------- /public/static/h-ui/images/iCheck/blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/iCheck/blue.png -------------------------------------------------------------------------------- /public/static/h-ui/images/iCheck/blue@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/iCheck/blue@2x.png -------------------------------------------------------------------------------- /public/static/h-ui/images/iCheck/green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/iCheck/green.png -------------------------------------------------------------------------------- /public/static/h-ui/images/iCheck/green@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/iCheck/green@2x.png -------------------------------------------------------------------------------- /public/static/h-ui/images/iCheck/grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/iCheck/grey.png -------------------------------------------------------------------------------- /public/static/h-ui/images/iCheck/grey@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/iCheck/grey@2x.png -------------------------------------------------------------------------------- /public/static/h-ui/images/iCheck/minimal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/iCheck/minimal.png -------------------------------------------------------------------------------- /public/static/h-ui/images/iCheck/minimal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/iCheck/minimal@2x.png -------------------------------------------------------------------------------- /public/static/h-ui/images/iCheck/orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/iCheck/orange.png -------------------------------------------------------------------------------- /public/static/h-ui/images/iCheck/orange@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/iCheck/orange@2x.png -------------------------------------------------------------------------------- /public/static/h-ui/images/iCheck/pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/iCheck/pink.png -------------------------------------------------------------------------------- /public/static/h-ui/images/iCheck/pink@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/iCheck/pink@2x.png -------------------------------------------------------------------------------- /public/static/h-ui/images/iCheck/purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/iCheck/purple.png -------------------------------------------------------------------------------- /public/static/h-ui/images/iCheck/purple@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/iCheck/purple@2x.png -------------------------------------------------------------------------------- /public/static/h-ui/images/iCheck/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/iCheck/red.png -------------------------------------------------------------------------------- /public/static/h-ui/images/iCheck/red@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/iCheck/red@2x.png -------------------------------------------------------------------------------- /public/static/h-ui/images/iCheck/yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/iCheck/yellow.png -------------------------------------------------------------------------------- /public/static/h-ui/images/iCheck/yellow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/iCheck/yellow@2x.png -------------------------------------------------------------------------------- /public/static/h-ui/images/iconpic-arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/iconpic-arrow.png -------------------------------------------------------------------------------- /public/static/h-ui/images/jselect/iconpic-arrow-down2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/jselect/iconpic-arrow-down2.png -------------------------------------------------------------------------------- /public/static/h-ui/images/loading/loading-b.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/loading/loading-b.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/loading/loading-s.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/loading/loading-s.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/rollpic/unslider-arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/rollpic/unslider-arrow.png -------------------------------------------------------------------------------- /public/static/h-ui/images/star/iconpic-star-S-default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/star/iconpic-star-S-default.png -------------------------------------------------------------------------------- /public/static/h-ui/images/star/iconpic-star-S.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/star/iconpic-star-S.png -------------------------------------------------------------------------------- /public/static/h-ui/images/steps/step_arrow-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/steps/step_arrow-active.png -------------------------------------------------------------------------------- /public/static/h-ui/images/steps/step_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/steps/step_arrow.png -------------------------------------------------------------------------------- /public/static/h-ui/images/steps/step_bg-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/steps/step_bg-active.png -------------------------------------------------------------------------------- /public/static/h-ui/images/steps/step_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/steps/step_bg.png -------------------------------------------------------------------------------- /public/static/h-ui/images/ucnter/avatar-default-S.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/ucnter/avatar-default-S.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/ucnter/avatar-default.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/ucnter/avatar-default.jpg -------------------------------------------------------------------------------- /public/static/h-ui/images/ucnter/avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/ucnter/avatar.png -------------------------------------------------------------------------------- /public/static/h-ui/images/ucnter/noavatar_small.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/ucnter/noavatar_small.gif -------------------------------------------------------------------------------- /public/static/h-ui/images/validform/iconpic-error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/validform/iconpic-error.png -------------------------------------------------------------------------------- /public/static/h-ui/images/validform/iconpic-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/validform/iconpic-right.png -------------------------------------------------------------------------------- /public/static/h-ui/images/validform/iconpic-warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/validform/iconpic-warning.png -------------------------------------------------------------------------------- /public/static/h-ui/images/verticalTab/tabNav-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/verticalTab/tabNav-active.png -------------------------------------------------------------------------------- /public/static/h-ui/images/verticalTab/tabNav-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/verticalTab/tabNav-hover.png -------------------------------------------------------------------------------- /public/static/h-ui/images/verticalTab/tabNav.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/verticalTab/tabNav.png -------------------------------------------------------------------------------- /public/static/h-ui/images/verticalTab/tabNav_right-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/verticalTab/tabNav_right-active.png -------------------------------------------------------------------------------- /public/static/h-ui/images/verticalTab/tabNav_right-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/verticalTab/tabNav_right-hover.png -------------------------------------------------------------------------------- /public/static/h-ui/images/verticalTab/tabNav_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/verticalTab/tabNav_right.png -------------------------------------------------------------------------------- /public/static/h-ui/images/verticalTab/tab_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/h-ui/images/verticalTab/tab_bg.png -------------------------------------------------------------------------------- /public/static/lib/Hui-iconfont/1.0.8/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/lib/Hui-iconfont/1.0.8/iconfont.eot -------------------------------------------------------------------------------- /public/static/lib/Hui-iconfont/1.0.8/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/lib/Hui-iconfont/1.0.8/iconfont.ttf -------------------------------------------------------------------------------- /public/static/lib/Hui-iconfont/1.0.8/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/lib/Hui-iconfont/1.0.8/iconfont.woff -------------------------------------------------------------------------------- /public/static/lib/Validform/5.3.2/passwordStrength-min.js: -------------------------------------------------------------------------------- 1 | (function(a){a.fn.passwordStrength=function(b){b=a.extend({},a.fn.passwordStrength.defaults,b);this.each(function(){var d=a(this),e=0,c=false,f=a(this).parents("form").find(".passwordStrength");d.bind("keyup blur",function(){e=a.fn.passwordStrength.ratepasswd(d.val(),b);e>=0&&c==false&&(c=true);f.find("span").removeClass("bgStrength");if(e<35&&e>=0){f.find("span:first").addClass("bgStrength")}else{if(e<60&&e>=35){f.find("span:lt(2)").addClass("bgStrength")}else{if(e>=60){f.find("span:lt(3)").addClass("bgStrength")}}}if(c&&(d.val().lengthb.maxLen)){b.showmsg(d,d.attr("errormsg"),3)}else{if(c){b.showmsg(d,"",2)}}b.trigger(d,!(e>=0))})})};a.fn.passwordStrength.ratepasswd=function(c,d){var b=c.length,e;if(b>=d.minLen&&b<=d.maxLen){e=a.fn.passwordStrength.checkStrong(c)}else{e=-1}return e/4*100};a.fn.passwordStrength.checkStrong=function(d){var e=0,b=d.length;for(var c=0;c=48&&b<=57){return 1}else{if(b>=65&&b<=90){return 2}else{if(b>=97&&b<=122){return 4}else{return 8}}}};a.fn.passwordStrength.bitTotal=function(b){var d=0;for(var c=0;c<4;c++){if(b&1){d++}b>>>=1}return d};a.fn.passwordStrength.defaults={minLen:0,maxLen:30,trigger:a.noop}})(jQuery); 2 | -------------------------------------------------------------------------------- /public/static/lib/expressInstall.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/lib/expressInstall.swf -------------------------------------------------------------------------------- /public/static/lib/html5shiv.js: -------------------------------------------------------------------------------- 1 | /* 2 | HTML5 Shiv v3.7.0 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed 3 | */ 4 | (function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag(); 5 | a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/[\w\-]+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x"; 6 | c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode|| 7 | "undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:"3.7.0",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f); 8 | if(g)return a.createDocumentFragment();for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d 2 | 3 | 6 | 7 | 8 | Created by iconfont 9 | 10 | 11 | 12 | 13 | 21 | 22 | 23 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /public/static/lib/laydate5.0.9/theme/default/font/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/lib/laydate5.0.9/theme/default/font/iconfont.ttf -------------------------------------------------------------------------------- /public/static/lib/laydate5.0.9/theme/default/font/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/lib/laydate5.0.9/theme/default/font/iconfont.woff -------------------------------------------------------------------------------- /public/static/lib/layer/2.4/skin/default/icon-ext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/lib/layer/2.4/skin/default/icon-ext.png -------------------------------------------------------------------------------- /public/static/lib/layer/2.4/skin/default/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/lib/layer/2.4/skin/default/icon.png -------------------------------------------------------------------------------- /public/static/lib/layer/2.4/skin/default/loading-0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/lib/layer/2.4/skin/default/loading-0.gif -------------------------------------------------------------------------------- /public/static/lib/layer/2.4/skin/default/loading-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/lib/layer/2.4/skin/default/loading-1.gif -------------------------------------------------------------------------------- /public/static/lib/layer/2.4/skin/default/loading-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/lib/layer/2.4/skin/default/loading-2.gif -------------------------------------------------------------------------------- /public/static/work/multiselect2side.css: -------------------------------------------------------------------------------- 1 | .ms2side__div { 2 | clear: left; 3 | width: auto; 4 | padding: 1px; 5 | padding-top:14px; 6 | float: left; 7 | background : url('') repeat-x; /* HACK FOR CHROME */ 8 | } 9 | 10 | .ms2side__select { 11 | float: left; 12 | } 13 | 14 | .ms2side__header { 15 | /*color: #000088; 16 | background-color: #EEEEFF;*/ 17 | margin-left: 3px; 18 | margin-top:-20px; 19 | margin-bottom: 5px; 20 | width: 110px; 21 | height: 20px; 22 | } 23 | 24 | .ms2side__options, .ms2side__updown { 25 | float: left; 26 | font-size: 10pt; 27 | margin: 0; 28 | margin-top:8px; 29 | padding: 0 8px; 30 | width: 40px; 31 | color: black; 32 | text-align: center; 33 | overflow: hidden; 34 | } 35 | 36 | .ms2side__updown { 37 | font-size: 9pt; 38 | } 39 | 40 | .ms2side__options p, .ms2side__updown p { 41 | margin: 2px 0; 42 | padding: 0; 43 | cursor: pointer; 44 | border: 1px solid black; 45 | } 46 | 47 | .ms2side__options p.ms2side_hover, .ms2side__updown p.ms2side_hover { 48 | background-color: #F0F0FF; 49 | border-color: #0000FF; 50 | cursor: pointer; 51 | } 52 | 53 | .ms2side__options p.ms2side__hide, .ms2side__updown p.ms2side__hide { 54 | cursor: default; 55 | color: gray; 56 | border: 1px solid gray; 57 | background-color: #F0F0F0; 58 | } 59 | 60 | .ms2side__div select { 61 | width: 110px; 62 | float: left; 63 | } 64 | 65 | 66 | /* INPUT FOR SEARCH */ 67 | .ms2side__header input { 68 | width: 80px; 69 | height: 12px; 70 | } 71 | 72 | .ms2side__header input.wait { 73 | width: 80px; 74 | height: 12px; 75 | background: #FFFFFF url(../img/loading.gif) no-repeat center right; 76 | } 77 | 78 | .ms2side__header input.small { 79 | width: 50px; 80 | height: 12px; 81 | } 82 | 83 | 84 | /* INPUT FOR SELECT SEARCH */ 85 | .ms2side__header select { 86 | width: 100px; 87 | font-size: 11px; 88 | height: 18px; 89 | float: none; 90 | } 91 | 92 | .ms2side__header select.small { 93 | width: 70px; 94 | } 95 | 96 | 97 | /* REMOVE FILTER OPTION FOR SEARCH */ 98 | .ms2side__header a { 99 | font-size: 10pt; 100 | padding: 0 8px; 101 | width: 16px; 102 | height: 16px; 103 | color: black; 104 | text-align: center; 105 | text-decoration: none; 106 | border: 1px solid gray; 107 | background: #FFFFFF url(../img/close.gif) no-repeat center center; 108 | margin: 0 0 0 3px; 109 | } 110 | 111 | .ms2side__header a:hover { 112 | background-color: #F0F0FF; 113 | border-color: gray; 114 | } -------------------------------------------------------------------------------- /public/static/work/process.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bimcc/laravelworkflow/d438e53a31bec457e32771ae3bbef16d7a3aa91d/public/static/work/process.png -------------------------------------------------------------------------------- /public/static/work/workflow.3.0.css: -------------------------------------------------------------------------------- 1 | html,body{height:100%;} 2 | 3 | .calendar { 4 | background: #fff; 5 | border: 1px solid #a4bed4; 6 | padding: 1px; 7 | overflow: hidden 8 | } 9 | .layout-panel { 10 | position: absolute; 11 | overflow: hidden 12 | } 13 | .panel-east,.panel-west { 14 | z-index: 2; 15 | background1: #fff 16 | } 17 | .split-east { 18 | border-left: 5px solid #d2e0f2 19 | } 20 | .split-west { 21 | border-right: 5px solid #d2e0f2 22 | } 23 | .panel { 24 | overflow: hidden; 25 | font-size: 12px 26 | } 27 | .panel-header { 28 | padding: 5px; 29 | line-height: 15px; 30 | height: 15px; 31 | color: #15428b; 32 | font-weight: 700; 33 | font-size: 12px; 34 | background: url(images/panel_title.png) repeat-x; 35 | position: relative; 36 | border: 1px solid #99bbe8; 37 | background: #e0ecff; 38 | border-top-width: 0; 39 | cursor: pointer 40 | } 41 | .panel-body { 42 | background: #fff; 43 | overflow: hidden; 44 | overflow: auto; 45 | border: 1px solid #99bbe8; 46 | border-top-width: 0; 47 | padding: 0px; 48 | min-height:820px 49 | } 50 | .process-step{position: absolute; cursor: move; min-width: 100px; line-height: 28px} 51 | .process-step span{cursor: pointer;} 52 | 53 | /*颜色*/ 54 | .colors { 55 | clear: both; 56 | padding: 0px; 57 | display: inline-block; 58 | vertical-align: bottom; 59 | } 60 | 61 | .colors ul{list-style: none; display:inline-block;margin:0px;padding:0px;} 62 | .colors li { 63 | position: relative; 64 | float: left; 65 | width: 18px; 66 | height: 18px; 67 | margin: 2px 1px 0 0; 68 | padding:2px 2px 2px 4px; 69 | background: #000; 70 | color:#ffffff; 71 | cursor: pointer; 72 | filter: alpha(opacity=50); 73 | opacity: 0.5; 74 | -webkit-transition: opacity 0.2s; 75 | -moz-transition: opacity 0.2s; 76 | -ms-transition: opacity 0.2s; 77 | -o-transition: opacity 0.2s; 78 | transition: opacity 0.2s; 79 | } 80 | .colors li:hover { 81 | filter: alpha(opacity=100); 82 | opacity: 1; 83 | } 84 | .colors li.active { 85 | height: 20px; 86 | margin-top: 0; 87 | filter: alpha(opacity=75); 88 | opacity: 0.75; 89 | } 90 | .colors li.red { 91 | background: #d54e21; 92 | } 93 | .colors li.green { 94 | background: #78a300; 95 | } 96 | .colors li.blue { 97 | background: #0e76a8; 98 | } 99 | .colors li.aero { 100 | background: #9cc2cb; 101 | } 102 | .colors li.grey { 103 | background: #73716e; 104 | } 105 | .colors li.orange { 106 | background: #f70; 107 | } 108 | .colors li.yellow { 109 | background: #fc0; 110 | } 111 | .colors li.pink { 112 | background: #ff66b5; 113 | } 114 | .colors li.purple { 115 | background: #6a5a8c; 116 | } 117 | /*连接线提示*/ 118 | .component { 119 | opacity: 0.8; 120 | filter: alpha(opacity=80); 121 | z-index: 20; 122 | } 123 | .wf_btn { 124 | padding: 4px 8px; 125 | box-sizing: border-box; 126 | cursor: pointer; 127 | text-align: center; 128 | -moz-padding-start: npx; 129 | -moz-padding-end: npx; 130 | border: solid 1px #ddd; 131 | background-color: #fff; 132 | width: auto; 133 | } 134 | .smalls{ 135 | width: 90px; 136 | padding: 4px 6px; 137 | display: inline-block; 138 | margin-bottom: 0; 139 | vertical-align: middle; 140 | border: 1px solid #cccccc; 141 | background-color: #ffffff; 142 | } 143 | .tables th, .tables td { 144 | padding: 6px; 145 | line-height: 18px; 146 | text-align: left; 147 | vertical-align: top; 148 | border-top: 1px solid #dddddd; 149 | border-left: 1px solid #dddddd; 150 | border-right: 1px solid #dddddd; 151 | } -------------------------------------------------------------------------------- /public/web.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # Laravel Workflow 3.0 正式版 2 | 3 | **本项目从 [Tpflow](https://gitee.com/ntdgg/tpflow "Tpflow") 移植而来 感谢作者 [逆天的蝈蝈](https://gitee.com/ntdgg/tpflow "ntdgg") 的辛勤付出** 4 | 5 | **欢迎使用 `Laravel Workflow` 工作流引擎** 6 | 7 | ### 有问题请提交ISSUE 48小时内解决~~ 8 | 9 | ### 主要特性 10 | 11 | + 基于 `` 可视化设计流程图 12 | + 支持可视化界面设计 13 | + 支持拖拽式流程绘制 14 | + 三布局便捷调整 15 | + 基于`workflow.3.0.js` `workflow.3.0.js ` 引擎 16 | + 超级强大的API 对接功能 17 | + `flowApi` 可支持工作流设计开发管理 18 | + `ProcessApi` 步骤管理API,可以对步骤进行管理、读取 19 | + `SuperApi ` 超级管理接口,对流程进行终止,代审 20 | + 完善的流引擎机制 21 | + 规范的命名空间,可拓展的集成化开发 22 | + 支持 直线式、会签式、转出式、同步审批式等多格式的工作流格式 23 | + 提供基于 `Laravel 5.5.39` 的样例Demo 24 | 25 | --- 26 | 27 | ### 开发方向 28 | 29 | 1. 本项目将持续跟进[Tpflow](https://gitee.com/ntdgg/tpflow "Tpflow")的版本更新 , bug修复等 30 | 2. 提交至本项目的bug修复及建议等也将反馈给[Tpflow](https://gitee.com/ntdgg/tpflow "Tpflow")(框架差异问题除外) 31 | 3. 将在近期修改成composer包引入的形式 , 请关注 32 | 33 | ### 使用方式 34 | 35 | 1. 克隆本项目 36 | ```bash 37 | git clone https://github.com/bimcc/laravelworkflow 38 | ``` 39 | 2. 安装 composer 依赖 40 | ```bash 41 | composer install 42 | ``` 43 | 3. 将根目录下的 `laravelflow3.0.sql` 导入数据库 44 | 4. 复制 .env.example 为 .env 并填上你的数据库信息 45 | 5. 生成secret key 并开启服务 46 | ```bash 47 | php artisan key:generate 48 | php artisan serve 49 | ``` 50 | 6. 访问 localhost:8000/index/index 即可 51 | 52 | 53 | ## 版权信息 54 | 55 | Laravel Workflow 是从 [Tpflow](https://gitee.com/ntdgg/tpflow "Tpflow") 移植而来 遵循 MIT 开源协议重新发布,并提供免费使用。 56 | 57 | 本项目包含的第三方源码和二进制文件之版权信息另行标注。 58 | 59 | 版权所有Copyright © 2018-2020 by Laravel Workflow 60 | 61 | All rights reserved。 62 | -------------------------------------------------------------------------------- /resources/assets/js/app.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * First we will load all of this project's JavaScript dependencies which 4 | * includes Vue and other libraries. It is a great starting point when 5 | * building robust, powerful web applications using Vue and Laravel. 6 | */ 7 | 8 | require('./bootstrap'); 9 | 10 | window.Vue = require('vue'); 11 | 12 | /** 13 | * Next, we will create a fresh Vue application instance and attach it to 14 | * the page. Then, you may begin adding components to this application 15 | * or customize the JavaScript scaffolding to fit your unique needs. 16 | */ 17 | 18 | Vue.component('example-component', require('./components/ExampleComponent.vue')); 19 | 20 | const app = new Vue({ 21 | el: '#app' 22 | }); 23 | -------------------------------------------------------------------------------- /resources/assets/js/bootstrap.js: -------------------------------------------------------------------------------- 1 | 2 | window._ = require('lodash'); 3 | 4 | /** 5 | * We'll load jQuery and the Bootstrap jQuery plugin which provides support 6 | * for JavaScript based Bootstrap features such as modals and tabs. This 7 | * code may be modified to fit the specific needs of your application. 8 | */ 9 | 10 | try { 11 | window.$ = window.jQuery = require('jquery'); 12 | 13 | require('bootstrap-sass'); 14 | } catch (e) {} 15 | 16 | /** 17 | * We'll load the axios HTTP library which allows us to easily issue requests 18 | * to our Laravel back-end. This library automatically handles sending the 19 | * CSRF token as a header based on the value of the "XSRF" token cookie. 20 | */ 21 | 22 | window.axios = require('axios'); 23 | 24 | window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; 25 | 26 | /** 27 | * Next we will register the CSRF Token as a common header with Axios so that 28 | * all outgoing HTTP requests automatically have it attached. This is just 29 | * a simple convenience so we don't have to attach every token manually. 30 | */ 31 | 32 | let token = document.head.querySelector('meta[name="csrf-token"]'); 33 | 34 | if (token) { 35 | window.axios.defaults.headers.common['X-CSRF-TOKEN'] = token.content; 36 | } else { 37 | console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token'); 38 | } 39 | 40 | /** 41 | * Echo exposes an expressive API for subscribing to channels and listening 42 | * for events that are broadcast by Laravel. Echo and event broadcasting 43 | * allows your team to easily build robust real-time web applications. 44 | */ 45 | 46 | // import Echo from 'laravel-echo' 47 | 48 | // window.Pusher = require('pusher-js'); 49 | 50 | // window.Echo = new Echo({ 51 | // broadcaster: 'pusher', 52 | // key: 'your-pusher-key', 53 | // cluster: 'mt1', 54 | // encrypted: true 55 | // }); 56 | -------------------------------------------------------------------------------- /resources/assets/js/components/ExampleComponent.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | 24 | -------------------------------------------------------------------------------- /resources/assets/sass/_variables.scss: -------------------------------------------------------------------------------- 1 | 2 | // Body 3 | $body-bg: #f5f8fa; 4 | 5 | // Borders 6 | $laravel-border-color: darken($body-bg, 10%); 7 | $list-group-border: $laravel-border-color; 8 | $navbar-default-border: $laravel-border-color; 9 | $panel-default-border: $laravel-border-color; 10 | $panel-inner-border: $laravel-border-color; 11 | 12 | // Brands 13 | $brand-primary: #3097D1; 14 | $brand-info: #8eb4cb; 15 | $brand-success: #2ab27b; 16 | $brand-warning: #cbb956; 17 | $brand-danger: #bf5329; 18 | 19 | // Typography 20 | $icon-font-path: "~bootstrap-sass/assets/fonts/bootstrap/"; 21 | $font-family-sans-serif: "Raleway", sans-serif; 22 | $font-size-base: 14px; 23 | $line-height-base: 1.6; 24 | $text-color: #636b6f; 25 | 26 | // Navbar 27 | $navbar-default-bg: #fff; 28 | 29 | // Buttons 30 | $btn-default-color: $text-color; 31 | 32 | // Inputs 33 | $input-border: lighten($text-color, 40%); 34 | $input-border-focus: lighten($brand-primary, 25%); 35 | $input-color-placeholder: lighten($text-color, 30%); 36 | 37 | // Panels 38 | $panel-default-heading-bg: #fff; 39 | -------------------------------------------------------------------------------- /resources/assets/sass/app.scss: -------------------------------------------------------------------------------- 1 | 2 | // Fonts 3 | @import url("https://fonts.googleapis.com/css?family=Raleway:300,400,600"); 4 | 5 | // Variables 6 | @import "variables"; 7 | 8 | // Bootstrap 9 | @import "~bootstrap-sass/assets/stylesheets/bootstrap"; 10 | -------------------------------------------------------------------------------- /resources/lang/en/auth.php: -------------------------------------------------------------------------------- 1 | 'These credentials do not match our records.', 17 | 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /resources/lang/en/pagination.php: -------------------------------------------------------------------------------- 1 | '« Previous', 17 | 'next' => 'Next »', 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /resources/lang/en/passwords.php: -------------------------------------------------------------------------------- 1 | 'Passwords must be at least six characters and match the confirmation.', 17 | 'reset' => 'Your password has been reset!', 18 | 'sent' => 'We have e-mailed your password reset link!', 19 | 'token' => 'This password reset token is invalid.', 20 | 'user' => "We can't find a user with that e-mail address.", 21 | 22 | ]; 23 | -------------------------------------------------------------------------------- /resources/views/index/doc.blade.php: -------------------------------------------------------------------------------- 1 | @include('pub.base') 2 | 3 | 4 | 5 | 6 |
7 |
8 |

致亲爱的Tpflow用户:

9 |

首先感谢你们一路的支持,Tpflow上线以来收货颇多,这也是开源平台第一个工作流开源项目,我们希望做得更好。我们深知这非常不容易,目前团队只有一个人开发,希望有志之士的加入!

10 |

希望各路大神,一起完善,改进这个开源的工作流。不管是公司,还是个人,UI前端,还是后端,若有建议,不妨提出。开源精神,与君共勉!

11 | 12 |

蝈蝈
2018.07.19

13 |
14 |

API 文档说明(此文档在看云的基础上进行精简,更适合快速开发)

15 | 16 |

本插件基于Thinkphp 5.1开发,请关注官方手册!

17 | 18 |

数据库开发说明

19 |
20 | flow         流程主表                 //流程主表主要记录流程名称
21 | flow_process 流程附表(详细步骤表)  //主要字段:process_to(下一步骤)  out_condition(转出条件,SQL) 
22 | run          流程运行主表            //运行后主要记录这张表
23 | run_process  流程运行步骤表          //运行步骤,关联运行主表
24 | run_sign     流程运行会签步骤表
25 | run_cache    流程运行缓存表
26 | run_log      流程运行日志表
27 | 
28 |

文件说明

29 |
30 | Flow.php         \application\index\controller        //前端控制器,权限控制(验证按钮审核权限)
31 | workflow.php     \extend\workflow\                    //工作流入口文件,核心驱动  
32 | TaskService.php  \extend\workflow\class\command       //工作流服务文件,中间驱动(根据用户信息,选择对应的驱动服务)
33 | 
34 |

简单运行说明

35 |
36 | ##第一步:工作流设计##
37 | //详见 Flowdesign.php 
38 | 
39 | ##第二步:表单填写##
40 | 
41 | ##第三步:选择工作流——>发起流程##
42 | 
43 | $workflow = new workflow();
44 | $flow = $workflow->getWorkFlow($wf_type); //获取本类工作流信息
45 | 
46 | $flow = $workflow->startworkflow($wf_id,$wf_fid,$wf_type); //直接发起工作流
47 | 
48 | ##第四步:审核单据发起——>获取工作流信息,获取下一个工作流信息——>日志记录——>发起消息通知##
49 | $workflow = new workflow();
50 | $flowinfo = $workflow->workflowInfo($wf_fid,$wf_type); //工作流审核发起,获取当前及下一个审批流信息
51 | $flowinfo = $workflow->workdoaction($config); //工作流审核发起保存
52 | 
53 | 54 | 55 | 56 |
57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /resources/views/index/index.blade.php: -------------------------------------------------------------------------------- 1 | @include('pub.base') 2 | 14 | 15 | 35 | 36 | 37 |
38 | 47 |
48 |
49 | 50 | 51 |
52 |
53 |
54 | 68 | 69 | -------------------------------------------------------------------------------- /resources/views/index/welcome.blade.php: -------------------------------------------------------------------------------- 1 | @include('pub.base') 2 | 3 | 4 |
5 | 官方博客 6 | 在线开发文档(精简) 7 | 看云完整文档 8 | 源码下载 9 |
10 | 11 | 12 |

模拟登入(点击姓名,进行模拟登入): 13 | 14 | @if(session('uid','')) 15 | 欢迎您:{{session('uname')}} 使用本插件! 16 | @else 17 | 请先模拟登入! 18 | @endif 19 |

20 | @foreach ($user as $k) 21 | {{$k->username}} 22 | @endforeach 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /resources/views/news/add.blade.php: -------------------------------------------------------------------------------- 1 | @include('pub.base') 2 | 3 |
4 | @if(isset($info->id)) 5 |
6 | 7 | 8 | @else 9 | 10 | @endif 11 | 12 | 13 | 14 | 26 | 27 | 28 | 37 | 40 | 43 |
新闻标题:是否置顶: 15 |
16 |
17 | 18 | 19 |
20 |
21 | 22 | 23 |
24 |
25 |
新闻类别: 29 | 30 | 35 | 36 | 38 | 39 |
新闻内容
44 | 45 |
46 |
47 | 48 | 49 |
50 |
51 |
52 |
53 | 54 | 55 | 56 | 57 | 58 | 79 | 80 | 81 | -------------------------------------------------------------------------------- /resources/views/news/index.blade.php: -------------------------------------------------------------------------------- 1 | @include('pub.base') 2 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | @foreach ($list as $k) 22 | 23 | 24 | 25 | 26 | 29 | 30 | 34 | 42 | 43 | @endforeach 44 | 45 |
ID发布人新闻类型新闻标题发布时间状态操作
{{$k->id}}{{$k->uid}}{{$k->new_type}}@if($k->new_top == 1) 27 | 28 | @endif{{$k->new_title}}{{$k->created_at}} 31 | 32 | {!! \App\Helper::status($k->status) !!} 33 | 35 |
36 | 查看 37 | 38 | {!! \App\Helper::btn($k->id,'news',$k->status) !!} 39 | 修改 40 |
41 |
46 |
47 |
{{$list}}
48 | 49 | -------------------------------------------------------------------------------- /resources/views/news/view.blade.php: -------------------------------------------------------------------------------- 1 | @include('pub.base') 2 |
3 | 4 | 5 | 7 | 8 | 9 | 10 | 11 | 13 |
新闻标题: 6 | {{$info->new_title}}
新闻类别:{{$info->new_type}}
新闻内容:{{$info->new_con}} 12 |
14 |
15 | 16 | -------------------------------------------------------------------------------- /resources/views/pub/base.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | laravel workflow 34 | 35 | -------------------------------------------------------------------------------- /resources/views/pub/footter.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /resources/views/welcome.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Laravel 9 | 10 | 11 | 12 | 13 | 14 | 66 | 67 | 68 |
69 | @if (Route::has('login')) 70 | 78 | @endif 79 | 80 |
81 |
82 | Laravel 83 |
84 | 85 | 92 |
93 |
94 | 95 | 96 | -------------------------------------------------------------------------------- /resources/views/wf/add.blade.php: -------------------------------------------------------------------------------- 1 | @include('pub.base') 2 |
3 | @if(isset($info->id)) 4 |
5 | 6 | @else 7 | 8 | @endif 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 34 | 35 | 36 | 37 | 40 | 41 | 42 |
流程名称
流程类型 17 | 18 | 23 | 24 |
排序值
流程描述 33 |
38 | 39 |
43 |
44 |
45 | 46 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /resources/views/wf/index.blade.php: -------------------------------------------------------------------------------- 1 | @include('pub.base') 2 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | @foreach ($list as $vo) 17 | 18 | 19 | 20 | 21 | 22 | 23 | 38 | 39 | @endforeach 40 |
ID流程名称流程类型添加时间状态操作
{{$vo->id}}{{$vo->flow_name}}{{$type[$vo->type]}}{{$vo->add_time}}@if($vo->status == 0) 正常 @else 禁用 @endif 24 | @if(!$vo->edit) 25 | 修改 26 | 设计流程 27 | @else 28 | 运行中.... 29 | @endif 30 | @if($vo->status == 0) 31 | 禁用 32 | @else 33 | 启用 34 | @endif 35 | 36 | 37 |
41 | 42 |
-------------------------------------------------------------------------------- /resources/views/wf/wfjk.blade.php: -------------------------------------------------------------------------------- 1 | @include('pub.base') 2 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | @foreach ($list as $k) 20 | 21 | 22 | 23 | 24 | 31 | 32 | 33 | 36 | 37 | 38 | @endforeach 39 | 40 |
工作流编号工作流类型工作流名称当前状态业务办理人业务描述操作
{{$k->id}}{{$k->from_table}}{{$k->flow_name}} 25 | @if($k->status == 0) 26 | 未审核 27 | @else 28 | 已审核 29 | @endif 30 | {{$k->user}}{{$k->created_at}} 34 | 终止 | {!! \App\Helper::btn($k->from_id,$k->from_table,100) !!} 35 |
41 |
42 | 60 | 61 | -------------------------------------------------------------------------------- /resources/views/wf/wfstart.blade.php: -------------------------------------------------------------------------------- 1 | @include('pub.base') 2 | 3 |
4 |
5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 23 | 24 | 25 | 26 | 36 | 37 | 38 | 41 | 42 | 43 | 47 | 48 |
项目名称:{{$info['wf_title']}}
选择工作流: 14 | 15 | 21 | 22 |
紧急程度: 27 | 28 | 34 | 35 |
审核意见: 39 | 40 |
44 | 45 | 46 |
49 | 50 |
51 |
52 | 53 |
54 |
55 |
56 |
57 | 58 | 59 | 73 | 74 | 75 | -------------------------------------------------------------------------------- /resources/views/wf/wfup.blade.php: -------------------------------------------------------------------------------- 1 | @include('pub.base') 2 |
3 | 4 |
5 |
6 | 9 |
10 | 11 |
12 |
13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /routes/api.php: -------------------------------------------------------------------------------- 1 | get('/user', function (Request $request) { 17 | return $request->user(); 18 | }); 19 | -------------------------------------------------------------------------------- /routes/channels.php: -------------------------------------------------------------------------------- 1 | id === (int) $id; 16 | }); 17 | -------------------------------------------------------------------------------- /routes/console.php: -------------------------------------------------------------------------------- 1 | comment(Inspiring::quote()); 18 | })->describe('Display an inspiring quote'); 19 | -------------------------------------------------------------------------------- /routes/web.php: -------------------------------------------------------------------------------- 1 | ''],function(){ 21 | // IndexController 22 | Route::get('/index/index','IndexController@index'); 23 | Route::get('/index/welcome','IndexController@welcome'); 24 | Route::get('/index/doc','IndexController@doc'); 25 | Route::any('/index/login','IndexController@login'); 26 | 27 | // NewsController 28 | Route::any('/news/newstype','NewsController@newstype'); 29 | Route::any('/news/index','NewsController@index'); 30 | Route::any('/news/add','NewsController@add'); 31 | Route::any('/news/edit/{id?}','NewsController@edit'); 32 | Route::any('/news/del/{id?}','NewsController@del'); 33 | Route::any('/news/view/{id?}','NewsController@view'); 34 | Route::any('/news/type','NewsController@type'); 35 | Route::any('/news/type_edit','NewsController@type_edit'); 36 | Route::any('/news/type_del','NewsController@type_del'); 37 | 38 | // UserController 39 | Route::any('/user/type_del','NewsController@type_del'); 40 | 41 | // WorkflowController 42 | Route::any('/wf/wfindex','WorkflowController@wfindex'); 43 | Route::any('/wf/wfdesc/{flow_id}','WorkflowController@wfdesc'); 44 | Route::any('/wf/wfadd','WorkflowController@wfadd'); 45 | Route::any('/wf/wfedit/{id}','WorkflowController@wfedit'); 46 | Route::any('/wf/wfchange/{id?}/{status?}','WorkflowController@wfchange'); 47 | Route::any('/wf/delete_process','WorkflowController@delete_process'); 48 | Route::any('/wf/del_allprocess','WorkflowController@del_allprocess'); 49 | Route::any('/wf/add_process','WorkflowController@add_process'); 50 | Route::any('/wf/save_canvas','WorkflowController@save_canvas'); 51 | Route::any('/wf/wfatt','WorkflowController@wfatt'); 52 | Route::any('/wf/save_attribute','WorkflowController@save_attribute'); 53 | Route::any('/wf/super_user/{type}','WorkflowController@super_user'); 54 | Route::any('/wf/super_role','WorkflowController@super_role'); 55 | Route::any('/wf/super_get','WorkflowController@super_get'); 56 | Route::any('/wf/wfjk','WorkflowController@wfjk'); 57 | Route::any('/wf/btn','WorkflowController@btn'); 58 | Route::any('/wf/status','WorkflowController@status'); 59 | Route::any('/wf/wfstart','WorkflowController@wfstart'); 60 | Route::any('/wf/start_save','WorkflowController@start_save'); 61 | Route::any('/wf/wfcheck','WorkflowController@wfcheck'); 62 | Route::any('/wf/do_check_save','WorkflowController@do_check_save'); 63 | Route::any('/wf/ajax_back','WorkflowController@ajax_back'); 64 | Route::any('/wf/checkflow','WorkflowController@Checkflow'); 65 | Route::any('/wf/wfup','WorkflowController@wfup'); 66 | Route::any('/wf/wfend','WorkflowController@wfend'); 67 | Route::any('/wf/wfupsave','WorkflowController@wfupsave'); 68 | Route::any('/wf/wfupsave','WorkflowController@wfupsave'); 69 | 70 | }); 71 | 72 | 73 | -------------------------------------------------------------------------------- /server.php: -------------------------------------------------------------------------------- 1 | 8 | */ 9 | 10 | $uri = urldecode( 11 | parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) 12 | ); 13 | 14 | // This file allows us to emulate Apache's "mod_rewrite" functionality from the 15 | // built-in PHP web server. This provides a convenient way to test a Laravel 16 | // application without having installed a "real" web server software here. 17 | if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) { 18 | return false; 19 | } 20 | 21 | require_once __DIR__.'/public/index.php'; 22 | -------------------------------------------------------------------------------- /storage/app/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !public/ 3 | !.gitignore 4 | -------------------------------------------------------------------------------- /storage/app/public/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/.gitignore: -------------------------------------------------------------------------------- 1 | config.php 2 | routes.php 3 | schedule-* 4 | compiled.php 5 | services.json 6 | events.scanned.php 7 | routes.scanned.php 8 | down 9 | -------------------------------------------------------------------------------- /storage/framework/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/sessions/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/testing/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/views/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/logs/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /tests/CreatesApplication.php: -------------------------------------------------------------------------------- 1 | make(Kernel::class)->bootstrap(); 20 | 21 | Hash::setRounds(4); 22 | 23 | return $app; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /tests/Feature/ExampleTest.php: -------------------------------------------------------------------------------- 1 | get('/'); 18 | 19 | $response->assertStatus(200); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /tests/TestCase.php: -------------------------------------------------------------------------------- 1 | assertTrue(true); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /webpack.mix.js: -------------------------------------------------------------------------------- 1 | let mix = require('laravel-mix'); 2 | 3 | /* 4 | |-------------------------------------------------------------------------- 5 | | Mix Asset Management 6 | |-------------------------------------------------------------------------- 7 | | 8 | | Mix provides a clean, fluent API for defining some Webpack build steps 9 | | for your Laravel application. By default, we are compiling the Sass 10 | | file for the application as well as bundling up all the JS files. 11 | | 12 | */ 13 | 14 | mix.js('resources/assets/js/app.js', 'public/js') 15 | .sass('resources/assets/sass/app.scss', 'public/css'); 16 | --------------------------------------------------------------------------------