├── .editorconfig ├── .env.example ├── .gitattributes ├── .gitignore ├── README.md ├── app ├── Console │ └── Kernel.php ├── Exceptions │ └── Handler.php ├── Http │ ├── Controllers │ │ ├── Admin │ │ │ ├── ApplyController.php │ │ │ ├── ApprovalController.php │ │ │ ├── DesignController.php │ │ │ ├── IndexController.php │ │ │ ├── ProcessController.php │ │ │ └── WorkflowController.php │ │ ├── Auth │ │ │ ├── ForgotPasswordController.php │ │ │ ├── LoginController.php │ │ │ ├── RegisterController.php │ │ │ └── ResetPasswordController.php │ │ └── Controller.php │ ├── Kernel.php │ ├── Middleware │ │ ├── CheckAuth.php │ │ ├── CheckForMaintenanceMode.php │ │ ├── EncryptCookies.php │ │ ├── RedirectIfAuthenticated.php │ │ ├── TrimStrings.php │ │ ├── TrustProxies.php │ │ └── VerifyCsrfToken.php │ └── Models │ │ ├── Approval.php │ │ ├── ApprovalDetail.php │ │ ├── Base.php │ │ ├── Index.php │ │ ├── Menu.php │ │ └── Workflow.php ├── Providers │ ├── AppServiceProvider.php │ ├── AuthServiceProvider.php │ ├── BroadcastServiceProvider.php │ ├── EventServiceProvider.php │ └── RouteServiceProvider.php └── User.php ├── artisan ├── bootstrap ├── app.php └── cache │ └── .gitignore ├── composer.json ├── composer.lock ├── config ├── app.php ├── auth.php ├── broadcasting.php ├── cache.php ├── database.php ├── filesystems.php ├── hashing.php ├── logging.php ├── mail.php ├── queue.php ├── services.php ├── session.php └── view.php ├── database ├── .gitignore ├── factories │ └── UserFactory.php ├── migrations │ ├── 2018_08_15_065055_create_menus_table.php │ ├── 2018_08_15_102402_create_workflows_table.php │ ├── 2018_08_20_020034_create_approvals_table.php │ └── 2018_08_20_090222_create_approval_details_table.php └── seeds │ ├── ApprovalsTableSeeder.php │ ├── DatabaseSeeder.php │ ├── MenusTableSeeder.php │ └── WorkflowsTableSeeder.php ├── package.json ├── phpunit.xml ├── public ├── .htaccess ├── css │ └── app.css ├── favicon.ico ├── index.php ├── js │ ├── app.js │ ├── jquery.min.js │ └── socket.io.js ├── robots.txt └── static │ ├── .gitignore │ ├── admin │ └── layuiadmin │ │ ├── config.js │ │ ├── json │ │ ├── console │ │ │ ├── prograss.js │ │ │ ├── top-card.js │ │ │ └── top-search.js │ │ ├── content │ │ │ ├── comment.js │ │ │ ├── list.js │ │ │ └── tags.js │ │ ├── forum │ │ │ ├── list.js │ │ │ └── replys.js │ │ ├── message │ │ │ ├── all.js │ │ │ ├── detail.js │ │ │ ├── direct.js │ │ │ └── notice.js │ │ ├── useradmin │ │ │ ├── mangadmin.js │ │ │ ├── role.js │ │ │ └── webuser.js │ │ └── workorder │ │ │ └── demo.js │ │ ├── layui │ │ ├── css │ │ │ ├── layui.css │ │ │ ├── layui.mobile.css │ │ │ └── modules │ │ │ │ ├── code.css │ │ │ │ ├── laydate │ │ │ │ └── default │ │ │ │ │ └── laydate.css │ │ │ │ └── layer │ │ │ │ └── default │ │ │ │ ├── icon-ext.png │ │ │ │ ├── icon.png │ │ │ │ ├── layer.css │ │ │ │ ├── loading-0.gif │ │ │ │ ├── loading-1.gif │ │ │ │ └── loading-2.gif │ │ ├── font │ │ │ ├── iconfont.eot │ │ │ ├── iconfont.svg │ │ │ ├── iconfont.ttf │ │ │ └── iconfont.woff │ │ ├── images │ │ │ └── face │ │ │ │ ├── 0.gif │ │ │ │ ├── 1.gif │ │ │ │ ├── 10.gif │ │ │ │ ├── 11.gif │ │ │ │ ├── 12.gif │ │ │ │ ├── 13.gif │ │ │ │ ├── 14.gif │ │ │ │ ├── 15.gif │ │ │ │ ├── 16.gif │ │ │ │ ├── 17.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 │ │ │ │ ├── 8.gif │ │ │ │ └── 9.gif │ │ ├── lay │ │ │ └── modules │ │ │ │ ├── carousel.js │ │ │ │ ├── code.js │ │ │ │ ├── element.js │ │ │ │ ├── flow.js │ │ │ │ ├── form.js │ │ │ │ ├── jquery.js │ │ │ │ ├── laydate.js │ │ │ │ ├── layedit.js │ │ │ │ ├── layer.js │ │ │ │ ├── laypage.js │ │ │ │ ├── laytpl.js │ │ │ │ ├── mobile.js │ │ │ │ ├── rate.js │ │ │ │ ├── table.js │ │ │ │ ├── tree.js │ │ │ │ ├── upload.js │ │ │ │ └── util.js │ │ ├── layui.all.js │ │ └── layui.js │ │ ├── lib │ │ ├── admin.js │ │ ├── extend │ │ │ ├── echarts.js │ │ │ └── echartsTheme.js │ │ ├── index.js │ │ └── view.js │ │ ├── modules │ │ ├── common.js │ │ ├── console.js │ │ ├── contlist.js │ │ ├── forum.js │ │ ├── message.js │ │ ├── sample.js │ │ ├── senior.js │ │ ├── set.js │ │ ├── useradmin.js │ │ └── workorder.js │ │ ├── style │ │ ├── admin.css │ │ ├── login.css │ │ ├── res │ │ │ ├── layui-logo.jpg │ │ │ ├── logo.png │ │ │ └── template │ │ │ │ ├── character.jpg │ │ │ │ ├── huge.jpg │ │ │ │ └── portrait.png │ │ └── template.css │ │ └── tpl │ │ └── system │ │ ├── about.html │ │ └── theme.html │ ├── home │ └── layui │ │ ├── css │ │ ├── layui.css │ │ ├── layui.mobile.css │ │ └── modules │ │ │ ├── code.css │ │ │ ├── laydate │ │ │ └── default │ │ │ │ └── laydate.css │ │ │ └── layer │ │ │ └── default │ │ │ ├── icon-ext.png │ │ │ ├── icon.png │ │ │ ├── layer.css │ │ │ ├── loading-0.gif │ │ │ ├── loading-1.gif │ │ │ └── loading-2.gif │ │ ├── font │ │ ├── iconfont.eot │ │ ├── iconfont.svg │ │ ├── iconfont.ttf │ │ └── iconfont.woff │ │ ├── images │ │ └── face │ │ │ ├── 0.gif │ │ │ ├── 1.gif │ │ │ ├── 10.gif │ │ │ ├── 11.gif │ │ │ ├── 12.gif │ │ │ ├── 13.gif │ │ │ ├── 14.gif │ │ │ ├── 15.gif │ │ │ ├── 16.gif │ │ │ ├── 17.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 │ │ │ ├── 8.gif │ │ │ └── 9.gif │ │ ├── lay │ │ └── modules │ │ │ ├── carousel.js │ │ │ ├── code.js │ │ │ ├── element.js │ │ │ ├── flow.js │ │ │ ├── form.js │ │ │ ├── jquery.js │ │ │ ├── laydate.js │ │ │ ├── layedit.js │ │ │ ├── layer.js │ │ │ ├── laypage.js │ │ │ ├── laytpl.js │ │ │ ├── mobile.js │ │ │ ├── rate.js │ │ │ ├── table.js │ │ │ ├── tree.js │ │ │ ├── upload.js │ │ │ └── util.js │ │ ├── layui.all.js │ │ └── layui.js │ └── plugins │ ├── font-awesome │ ├── css │ │ ├── font-awesome.css │ │ └── font-awesome.min.css │ └── fonts │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.svg │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ └── fontawesome-webfont.woff2 │ └── formbuilder │ ├── fonts │ ├── FontAwesome.otf │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.svg │ ├── fontawesome-webfont.ttf │ └── fontawesome-webfont.woff │ ├── formbuilder-min.css │ ├── formbuilder-min.js │ ├── formbuilder.css │ ├── formbuilder.js │ ├── vendor.css │ └── vendor.js ├── 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 │ ├── Apply │ └── index.blade.php │ ├── Approval │ ├── create.blade.php │ ├── edit.blade.php │ ├── index.blade.php │ ├── lists.blade.php │ └── show.blade.php │ ├── Design │ ├── index.blade.php │ └── show.blade.php │ ├── base.blade.php │ ├── layout.blade.php │ ├── process │ └── index.blade.php │ └── workflow │ ├── create.blade.php │ ├── edit.blade.php │ └── index.blade.php ├── routes ├── admin.php ├── 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 /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | insert_final_newline = true 7 | indent_style = space 8 | indent_size = 4 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | 14 | [*.yml] 15 | indent_style = space 16 | indent_size = 2 17 | -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- 1 | APP_NAME=Laravel 2 | APP_ENV=local 3 | APP_KEY= 4 | APP_DEBUG=true 5 | APP_URL=http://localhost 6 | 7 | LOG_CHANNEL=stack 8 | 9 | DB_CONNECTION=mysql 10 | DB_HOST=127.0.0.1 11 | DB_PORT=3306 12 | DB_DATABASE=homestead 13 | DB_USERNAME=homestead 14 | DB_PASSWORD=secret 15 | 16 | BROADCAST_DRIVER=log 17 | CACHE_DRIVER=file 18 | SESSION_DRIVER=file 19 | SESSION_LIFETIME=120 20 | QUEUE_DRIVER=sync 21 | 22 | REDIS_HOST=127.0.0.1 23 | REDIS_PASSWORD=null 24 | REDIS_PORT=6379 25 | 26 | MAIL_DRIVER=smtp 27 | MAIL_HOST=smtp.mailtrap.io 28 | MAIL_PORT=2525 29 | MAIL_USERNAME=null 30 | MAIL_PASSWORD=null 31 | MAIL_ENCRYPTION=null 32 | 33 | PUSHER_APP_ID= 34 | PUSHER_APP_KEY= 35 | PUSHER_APP_SECRET= 36 | PUSHER_APP_CLUSTER=mt1 37 | 38 | MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" 39 | MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" 40 | -------------------------------------------------------------------------------- /.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 | /.vscode 8 | /.vagrant 9 | Homestead.json 10 | Homestead.yaml 11 | npm-debug.log 12 | yarn-error.log 13 | .env 14 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # laravel-workflow 2 | 一个基于laravel框架的审批工作流 3 | 4 | `复制.env.example为.env` 5 | 6 | `配置.env里的数据库连接信息` 7 | 8 | `composer update` 9 | 10 | `php artisan migrate` 11 | 12 | `php artisan db:seed` 13 | 14 | `php artisan key:generate` 15 | 16 | # ok enjoy it 17 | -------------------------------------------------------------------------------- /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 | input('uid')); 28 | return response()->json(['code'=>200,'msg'=>'登录成功']); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /app/Http/Controllers/Admin/ProcessController.php: -------------------------------------------------------------------------------- 1 | input('id')); 19 | //获取当前流程审批节点 20 | $processData = Workflow::find($id); 21 | $processData = json_decode($processData['flow_process'],true); 22 | return view("process.index",['processData'=>$processData,'id'=>$id,'allUser'=>self::$userArr]); 23 | } 24 | 25 | /** 26 | * Store a newly created resource in storage. 27 | * 28 | * @param \Illuminate\Http\Request $request 29 | * @return \Illuminate\Http\Response 30 | */ 31 | public function store(Request $request) 32 | { 33 | $id = intval($request->input('id')); 34 | if($request->isMethod('post')){ 35 | $postData = $request->input("post_data"); 36 | if(count($postData) <= 1){ 37 | return redirect()->action('Admin\ProcessController@index', ['id'=>$id])->with('error','数据错误'); 38 | } 39 | 40 | //入库 41 | $nowTime = time(); 42 | foreach ($postData as $k => $v){ 43 | if($v){ 44 | $tempProcess = explode('-',$v); 45 | $processName = $tempProcess[0]; 46 | $processUser = $tempProcess[1]; 47 | $processUserName = $tempProcess[2]; 48 | $processArr[] = [ 49 | 'process_user' => $processUser, 50 | 'process_name' => $processName, 51 | 'process_user_name' => $processUserName, 52 | ]; 53 | 54 | } 55 | } 56 | $processJson = json_encode($processArr); 57 | $saveData = [ 58 | 'flow_process' => $processJson, 59 | ]; 60 | $updateRes = Workflow::where("id",$id)->update($saveData); 61 | if($updateRes){ 62 | return redirect()->action('Admin\ProcessController@index', ['id'=>$id])->with('success','入库成功'); 63 | }else{ 64 | return redirect()->action('Admin\ProcessController@index', ['id'=>$id])->with('error','入库失败'); 65 | } 66 | } 67 | } 68 | 69 | } 70 | -------------------------------------------------------------------------------- /app/Http/Controllers/Auth/ForgotPasswordController.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'); 41 | } 42 | 43 | /** 44 | * Get a validator for an incoming registration request. 45 | * 46 | * @param array $data 47 | * @return \Illuminate\Contracts\Validation\Validator 48 | */ 49 | protected function validator(array $data) 50 | { 51 | return Validator::make($data, [ 52 | 'name' => 'required|string|max:255', 53 | 'email' => 'required|string|email|max:255|unique:users', 54 | 'password' => 'required|string|min:6|confirmed', 55 | ]); 56 | } 57 | 58 | /** 59 | * Create a new user instance after a valid registration. 60 | * 61 | * @param array $data 62 | * @return \App\User 63 | */ 64 | protected function create(array $data) 65 | { 66 | return User::create([ 67 | 'name' => $data['name'], 68 | 'email' => $data['email'], 69 | 'password' => Hash::make($data['password']), 70 | ]); 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /app/Http/Controllers/Auth/ResetPasswordController.php: -------------------------------------------------------------------------------- 1 | middleware('guest'); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /app/Http/Controllers/Controller.php: -------------------------------------------------------------------------------- 1 | 'admin', 18 | 2 => '分管高管', 19 | 3 => '直线主管', 20 | 4 => '普通员工', 21 | ]; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /app/Http/Kernel.php: -------------------------------------------------------------------------------- 1 | [ 33 | \App\Http\Middleware\EncryptCookies::class, 34 | \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, 35 | \Illuminate\Session\Middleware\StartSession::class, 36 | // \Illuminate\Session\Middleware\AuthenticateSession::class, 37 | \Illuminate\View\Middleware\ShareErrorsFromSession::class, 38 | \App\Http\Middleware\VerifyCsrfToken::class, 39 | \Illuminate\Routing\Middleware\SubstituteBindings::class, 40 | ], 41 | 42 | 'api' => [ 43 | \Illuminate\Session\Middleware\StartSession::class, 44 | 'throttle:60,1', 45 | 'bindings', 46 | ], 47 | ]; 48 | 49 | /** 50 | * The application's route middleware. 51 | * 52 | * These middleware may be assigned to groups or used individually. 53 | * 54 | * @var array 55 | */ 56 | protected $routeMiddleware = [ 57 | 'auth' => \Illuminate\Auth\Middleware\Authenticate::class, 58 | 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 59 | 'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class, 60 | 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class, 61 | 'can' => \Illuminate\Auth\Middleware\Authorize::class, 62 | 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 63 | 'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class, 64 | 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 65 | 'checkauth' => \App\Http\Middleware\CheckAuth::class, 66 | ]; 67 | } 68 | -------------------------------------------------------------------------------- /app/Http/Middleware/CheckAuth.php: -------------------------------------------------------------------------------- 1 | with('error','请登录!'); 22 | } 23 | return $next($request); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /app/Http/Middleware/CheckForMaintenanceMode.php: -------------------------------------------------------------------------------- 1 | check()) { 21 | return redirect('/home'); 22 | } 23 | 24 | return $next($request); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /app/Http/Middleware/TrimStrings.php: -------------------------------------------------------------------------------- 1 | first(); 43 | 44 | //没有数据或者用户不正确 45 | if(!$caseData || $caseData['user_id'] != session('uid')){ 46 | return false; 47 | } 48 | 49 | //判断是否进入下一流程 50 | $caseDetailData = ApprovalDetail::where('approval_id',$approval_id)->orderBy('id','desc')->first(); 51 | //发起后待处理和被驳回都具备权限 52 | if(($caseDetailData['process_id'] === 0 && $caseDetailData['approval_detail_status'] == 1) || $caseDetailData['approval_detail_status'] == 2){ 53 | return true; 54 | } 55 | return false; 56 | } 57 | 58 | //获取并组合所有的审批数据 59 | public static function getMyApproval($approvalArrRes){ 60 | foreach ($approvalArrRes as $k => $v){ 61 | 62 | $flowData = Workflow::find($v['flow_id']); 63 | $caseDetailData = ApprovalDetail::where("approval_id",$v['id'])->orderBy("created_at","desc")->first(); 64 | 65 | $approvalArrRes[$k]['flow_name'] = $flowData['flow_name']; 66 | $approvalArrRes[$k]['process_user_name'] = $caseDetailData['process_user_name']; 67 | $approvalArrRes[$k]['process_name'] = $caseDetailData['process_name']; 68 | $approvalArrRes[$k]['approval_detail_comment'] = $caseDetailData['case_detail_comment']; 69 | //待处理1 驳回2 拒绝3 完结4 70 | $approvalArrRes[$k]['approval_detail_status'] = Approval::getCaseStatus($caseDetailData['approval_detail_status']); 71 | $approvalArrRes[$k]['flow_status'] = $flowData['flow_status']; 72 | //判断是否具有修改/撤回权限(有没有进入下个流程) 73 | $approvalArrRes[$k]['is_auth'] = ($flowData['flow_status'] == 2) ? false : Approval::isHaveAuth($v['id']); 74 | } 75 | return $approvalArrRes; 76 | } 77 | 78 | 79 | } 80 | -------------------------------------------------------------------------------- /app/Http/Models/ApprovalDetail.php: -------------------------------------------------------------------------------- 1 | orderBy('created_at','desc')->first(); 19 | //没有数据或者用户不正确 20 | if(!$caseDetailData || $caseDetailData['process_userid'] != session('uid')){ 21 | return false; 22 | } 23 | return true; 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /app/Http/Models/Base.php: -------------------------------------------------------------------------------- 1 | toArray(); 10 | return self::getTree($menus); 11 | } 12 | 13 | //获取tree 14 | protected static function getTree($arr,$pid = 0){ 15 | $tree = array(); 16 | foreach($arr as $k => $v) { 17 | if($v['parent_id'] == $pid) { 18 | $v['children'] = static::getTree($arr, $v['id']); 19 | $tree[] = $v; 20 | } 21 | } 22 | return $tree; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /app/Providers/AppServiceProvider.php: -------------------------------------------------------------------------------- 1 | composer('layout',function($view){ 20 | $menus = \App\Http\Models\Menu::getMenuTree(); 21 | $view->with('menus',$menus); 22 | $view->with('userArr',\App\Http\Controllers\Controller::$userArr); 23 | }); 24 | } 25 | 26 | /** 27 | * Register any application services. 28 | * 29 | * @return void 30 | */ 31 | public function register() 32 | { 33 | // 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /app/Providers/AuthServiceProvider.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 | $this->mapAdminRoutes(); 43 | 44 | // 45 | } 46 | 47 | /** 48 | * Define the "web" routes for the application. 49 | * 50 | * These routes all receive session state, CSRF protection, etc. 51 | * 52 | * @return void 53 | */ 54 | protected function mapWebRoutes() 55 | { 56 | Route::middleware('web') 57 | ->namespace($this->namespace) 58 | ->group(base_path('routes/web.php')); 59 | } 60 | 61 | protected function mapAdminRoutes() 62 | { 63 | Route::middleware('web') 64 | ->namespace($this->namespace) 65 | ->group(base_path('routes/admin.php')); 66 | } 67 | 68 | /** 69 | * Define the "api" routes for the application. 70 | * 71 | * These routes are typically stateless. 72 | * 73 | * @return void 74 | */ 75 | protected function mapApiRoutes() 76 | { 77 | Route::prefix('api') 78 | ->middleware('api') 79 | ->namespace($this->namespace) 80 | ->group(base_path('routes/api.php')); 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /app/User.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.1.3", 9 | "fideloper/proxy": "^4.0", 10 | "laravel/framework": "5.6.*", 11 | "laravel/tinker": "^1.0" 12 | }, 13 | "require-dev": { 14 | "filp/whoops": "^2.0", 15 | "fzaninotto/faker": "^1.4", 16 | "mockery/mockery": "^1.0", 17 | "nunomaduro/collision": "^2.0", 18 | "phpunit/phpunit": "^7.0" 19 | }, 20 | "autoload": { 21 | "classmap": [ 22 | "database/seeds", 23 | "database/factories" 24 | ], 25 | "psr-4": { 26 | "App\\": "app/" 27 | } 28 | }, 29 | "autoload-dev": { 30 | "psr-4": { 31 | "Tests\\": "tests/" 32 | } 33 | }, 34 | "extra": { 35 | "laravel": { 36 | "dont-discover": [ 37 | ] 38 | } 39 | }, 40 | "scripts": { 41 | "post-root-package-install": [ 42 | "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" 43 | ], 44 | "post-create-project-cmd": [ 45 | "@php artisan key:generate" 46 | ], 47 | "post-autoload-dump": [ 48 | "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", 49 | "@php artisan package:discover" 50 | ] 51 | }, 52 | "config": { 53 | "preferred-install": "dist", 54 | "sort-packages": true, 55 | "optimize-autoloader": true 56 | }, 57 | "minimum-stability": "dev", 58 | "prefer-stable": true 59 | } 60 | -------------------------------------------------------------------------------- /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/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", "sftp", "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 | 'url' => env('AWS_URL'), 65 | ], 66 | 67 | ], 68 | 69 | ]; 70 | -------------------------------------------------------------------------------- /config/hashing.php: -------------------------------------------------------------------------------- 1 | 'bcrypt', 19 | 20 | /* 21 | |-------------------------------------------------------------------------- 22 | | Bcrypt Options 23 | |-------------------------------------------------------------------------- 24 | | 25 | | Here you may specify the configuration options that should be used when 26 | | passwords are hashed using the Bcrypt algorithm. This will allow you 27 | | to control the amount of time it takes to hash the given password. 28 | | 29 | */ 30 | 31 | 'bcrypt' => [ 32 | 'rounds' => env('BCRYPT_ROUNDS', 10), 33 | ], 34 | 35 | /* 36 | |-------------------------------------------------------------------------- 37 | | Argon Options 38 | |-------------------------------------------------------------------------- 39 | | 40 | | Here you may specify the configuration options that should be used when 41 | | passwords are hashed using the Argon algorithm. These will allow you 42 | | to control the amount of time it takes to hash the given password. 43 | | 44 | */ 45 | 46 | 'argon' => [ 47 | 'memory' => 1024, 48 | 'threads' => 2, 49 | 'time' => 2, 50 | ], 51 | 52 | ]; 53 | -------------------------------------------------------------------------------- /config/logging.php: -------------------------------------------------------------------------------- 1 | env('LOG_CHANNEL', 'stack'), 19 | 20 | /* 21 | |-------------------------------------------------------------------------- 22 | | Log Channels 23 | |-------------------------------------------------------------------------- 24 | | 25 | | Here you may configure the log channels for your application. Out of 26 | | the box, Laravel uses the Monolog PHP logging library. This gives 27 | | you a variety of powerful log handlers / formatters to utilize. 28 | | 29 | | Available Drivers: "single", "daily", "slack", "syslog", 30 | | "errorlog", "monolog", 31 | | "custom", "stack" 32 | | 33 | */ 34 | 35 | 'channels' => [ 36 | 'stack' => [ 37 | 'driver' => 'stack', 38 | 'channels' => ['single'], 39 | ], 40 | 41 | 'single' => [ 42 | 'driver' => 'single', 43 | 'path' => storage_path('logs/laravel.log'), 44 | 'level' => 'debug', 45 | ], 46 | 47 | 'daily' => [ 48 | 'driver' => 'daily', 49 | 'path' => storage_path('logs/laravel.log'), 50 | 'level' => 'debug', 51 | 'days' => 7, 52 | ], 53 | 54 | 'slack' => [ 55 | 'driver' => 'slack', 56 | 'url' => env('LOG_SLACK_WEBHOOK_URL'), 57 | 'username' => 'Laravel Log', 58 | 'emoji' => ':boom:', 59 | 'level' => 'critical', 60 | ], 61 | 62 | 'stderr' => [ 63 | 'driver' => 'monolog', 64 | 'handler' => StreamHandler::class, 65 | 'with' => [ 66 | 'stream' => 'php://stderr', 67 | ], 68 | ], 69 | 70 | 'syslog' => [ 71 | 'driver' => 'syslog', 72 | 'level' => 'debug', 73 | ], 74 | 75 | 'errorlog' => [ 76 | 'driver' => 'errorlog', 77 | 'level' => 'debug', 78 | ], 79 | ], 80 | 81 | ]; 82 | -------------------------------------------------------------------------------- /config/queue.php: -------------------------------------------------------------------------------- 1 | env('QUEUE_DRIVER', 'sync'), 17 | 18 | /* 19 | |-------------------------------------------------------------------------- 20 | | Queue Connections 21 | |-------------------------------------------------------------------------- 22 | | 23 | | Here you may configure the connection information for each server that 24 | | is used by your application. A default configuration has been added 25 | | for each back-end shipped with Laravel. You are free to add more. 26 | | 27 | | Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null" 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 | 'block_for' => null, 66 | ], 67 | 68 | ], 69 | 70 | /* 71 | |-------------------------------------------------------------------------- 72 | | Failed Queue Jobs 73 | |-------------------------------------------------------------------------- 74 | | 75 | | These options configure the behavior of failed queue job logging so you 76 | | can control which database and table are used to store the jobs that 77 | | have failed. You may change them to any database / table you wish. 78 | | 79 | */ 80 | 81 | 'failed' => [ 82 | 'database' => env('DB_CONNECTION', 'mysql'), 83 | 'table' => 'failed_jobs', 84 | ], 85 | 86 | ]; 87 | -------------------------------------------------------------------------------- /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' => env('SES_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/2018_08_15_065055_create_menus_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->integer('parent_id'); 19 | $table->string('name'); 20 | $table->string('route'); 21 | $table->string('icon'); 22 | $table->timestamps(); 23 | }); 24 | } 25 | 26 | /** 27 | * Reverse the migrations. 28 | * 29 | * @return void 30 | */ 31 | public function down() 32 | { 33 | Schema::dropIfExists('menus'); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /database/migrations/2018_08_15_102402_create_workflows_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->string('flow_name')->comment('名称'); 19 | $table->integer('flow_type')->nullable()->comment('类型'); 20 | $table->string('flow_desc')->nullable()->comment('描述'); 21 | $table->text('flow_design')->nullable()->comment('表单设计'); 22 | $table->text('flow_process')->nullable()->comment('流程设计'); 23 | $table->integer('flow_sort')->default(50)->comment('排序'); 24 | $table->tinyinteger('flow_status')->default(2)->comment('流程状态 1为启用,2为禁用'); 25 | $table->timestamps(); 26 | }); 27 | } 28 | 29 | /** 30 | * Reverse the migrations. 31 | * 32 | * @return void 33 | */ 34 | public function down() 35 | { 36 | Schema::dropIfExists('workflows'); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /database/migrations/2018_08_20_020034_create_approvals_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->integer('flow_id')->comment('工作流id'); 19 | $table->integer('user_id')->comment('申请用户id'); 20 | $table->string('title')->comment('申请标题'); 21 | $table->string('desc')->nullable()->comment('申请备注'); 22 | $table->text('design')->nullable()->comment('表单数据'); 23 | $table->tinyInteger('status')->default(1)->comment('审批流状态,流程中1,完成2'); 24 | $table->index('flow_id'); 25 | $table->index('user_id'); 26 | $table->timestamps(); 27 | }); 28 | } 29 | 30 | /** 31 | * Reverse the migrations. 32 | * 33 | * @return void 34 | */ 35 | public function down() 36 | { 37 | Schema::dropIfExists('approvals'); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /database/migrations/2018_08_20_090222_create_approval_details_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->integer('flow_id')->comment('审批流id'); 19 | $table->integer('process_id')->default(0)->comment('节点id'); 20 | $table->integer('process_userid')->comment('审核节点用户id'); 21 | $table->string('process_name')->comment('节点名'); 22 | $table->string('process_user_name')->comment('审批节点用户名'); 23 | $table->integer('approval_id')->comment('审批申请id'); 24 | $table->string('approval_detail_comment')->nullable()->comment('审批意见'); 25 | $table->tinyInteger('approval_detail_status')->default(1)->comment('当前审批状态 待处理1 驳回2 拒绝3 同意4'); 26 | $table->index('flow_id'); 27 | $table->index('process_id'); 28 | $table->index('process_userid'); 29 | $table->index('approval_id'); 30 | $table->timestamps(); 31 | }); 32 | } 33 | 34 | /** 35 | * Reverse the migrations. 36 | * 37 | * @return void 38 | */ 39 | public function down() 40 | { 41 | Schema::dropIfExists('approval_details'); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /database/seeds/ApprovalsTableSeeder.php: -------------------------------------------------------------------------------- 1 | call(MenusTableSeeder::class); 15 | $this->call(MenusTableSeeder::class); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /database/seeds/MenusTableSeeder.php: -------------------------------------------------------------------------------- 1 | 0, 16 | 'name' => '审批流管理', 17 | 'route'=>'workflows.index', 18 | 'icon' => 'layui-icon-link', 19 | ], 20 | [ 21 | 'parent_id' => 0, 22 | 'name' => '审批管理', 23 | 'route'=>'', 24 | 'icon' => 'layui-icon-app', 25 | ], 26 | [ 27 | 'parent_id' => 2, 28 | 'name' => '发起审批', 29 | 'route'=>'approvals.index', 30 | 'icon' => '', 31 | ], 32 | [ 33 | 'parent_id' => 2, 34 | 'name' => '我的审批', 35 | 'route'=>'approvals.lists', 36 | 'icon' => '', 37 | ], 38 | [ 39 | 'parent_id' => 2, 40 | 'name' => '待我审批', 41 | 'route'=>'applys.index', 42 | 'icon' => '', 43 | ], 44 | ]; 45 | foreach ($menus as $k => $v){ 46 | DB::table('menus')->insert($v); 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /database/seeds/WorkflowsTableSeeder.php: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | ./tests/Unit 14 | 15 | 16 | 17 | ./tests/Feature 18 | 19 | 20 | 21 | 22 | ./app 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /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/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/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/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/.gitignore -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/json/console/prograss.js: -------------------------------------------------------------------------------- 1 | { 2 | "code": 0 3 | ,"msg": "" 4 | ,"count": "100" 5 | ,"data": [{ 6 | "prograss": "开会" 7 | ,"time": "一小时" 8 | ,"complete": "已完成" 9 | ,"LAY_CHECKED": true 10 | },{ 11 | "prograss": "项目开发" 12 | ,"time": "两小时" 13 | ,"complete": "进行中" 14 | ,"LAY_CHECKED": true 15 | },{ 16 | "prograss": "陪吃饭" 17 | ,"time": "一小时" 18 | ,"complete": "未完成" 19 | },{ 20 | "prograss": "修改小bug" 21 | ,"time": "半小时" 22 | ,"complete": "未完成" 23 | },{ 24 | "prograss": "修改大bug" 25 | ,"time": "两小时" 26 | ,"complete": "未完成" 27 | },{ 28 | "prograss": "修改小bug" 29 | ,"time": "半小时" 30 | ,"complete": "未完成" 31 | },{ 32 | "prograss": "修改大bug" 33 | ,"time": "两小时" 34 | ,"complete": "未完成" 35 | }] 36 | } -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/json/console/top-card.js: -------------------------------------------------------------------------------- 1 | { 2 | "code": 0 3 | ,"msg": "" 4 | ,"count": "100" 5 | ,"data": [{ 6 | "id": 111 7 | ,"title": "社区开始接受 “赞助商广告” 投放" 8 | ,"username": "贤心" 9 | ,"channel": "公告" 10 | ,"href": "http://fly.layui.com/jie/15697/" 11 | ,"crt": 61632 12 | },{ 13 | "id": 222 14 | ,"title": "layui 一周年" 15 | ,"username": "猫吃" 16 | ,"channel": "讨论" 17 | ,"href": "http://fly.layui.com/jie/16622/" 18 | ,"crt": 61632 19 | },{ 20 | "id": 333 21 | ,"title": "四个月的前端" 22 | ,"username": "fd" 23 | ,"channel": "分享" 24 | ,"href": "http://fly.layui.com/jie/16651/" 25 | ,"crt": 61632 26 | },{ 27 | "id": 333 28 | ,"title": "如何评价LayUI和他的作者闲心" 29 | ,"username": "纸飞机" 30 | ,"channel": "提问" 31 | ,"href": "http://fly.layui.com/jie/9352/" 32 | ,"crt": 61632 33 | },{ 34 | "id": 333 35 | ,"title": "如何评价LayUI和他的作者闲心" 36 | ,"username": "纸飞机" 37 | ,"channel": "提问" 38 | ,"href": "http://fly.layui.com/jie/9352/" 39 | ,"crt": 61632 40 | },{ 41 | "id": 333 42 | ,"title": "如何评价LayUI和他的作者闲心" 43 | ,"username": "纸飞机" 44 | ,"channel": "提问" 45 | ,"href": "http://fly.layui.com/jie/9352/" 46 | ,"crt": 61632 47 | },{ 48 | "id": 333 49 | ,"title": "如何评价LayUI和他的作者闲心" 50 | ,"username": "纸飞机" 51 | ,"channel": "提问" 52 | ,"href": "http://fly.layui.com/jie/9352/" 53 | ,"crt": 61632 54 | },{ 55 | "id": 333 56 | ,"title": "如何评价LayUI和他的作者闲心" 57 | ,"username": "纸飞机" 58 | ,"channel": "提问" 59 | ,"href": "http://fly.layui.com/jie/9352/" 60 | ,"crt": 61632 61 | },{ 62 | "id": 333 63 | ,"title": "如何评价LayUI和他的作者闲心" 64 | ,"username": "纸飞机" 65 | ,"channel": "提问" 66 | ,"href": "http://fly.layui.com/jie/9352/" 67 | ,"crt": 61632 68 | },{ 69 | "id": 333 70 | ,"title": "如何评价LayUI和他的作者闲心" 71 | ,"username": "纸飞机" 72 | ,"channel": "提问" 73 | ,"href": "http://fly.layui.com/jie/9352/" 74 | ,"crt": 61632 75 | }] 76 | } -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/json/console/top-search.js: -------------------------------------------------------------------------------- 1 | { 2 | "code": 0 3 | ,"msg": "" 4 | ,"count": "100" 5 | ,"data": [{ 6 | "keywords": "贤心是男是女" 7 | ,"frequency": 8520 8 | ,"userNums": 2216 9 | },{ 10 | "keywords": "Java程序员能找到女朋友吗" 11 | ,"frequency": 666 12 | ,"userNums": 333 13 | },{ 14 | "keywords": "此表格是静态模拟数据" 15 | ,"frequency": 666 16 | ,"userNums": 333 17 | },{ 18 | "keywords": "layui官方教程" 19 | ,"frequency": 666 20 | ,"userNums": 333 21 | },{ 22 | "keywords": "layui官方教程" 23 | ,"frequency": 666 24 | ,"userNums": 333 25 | },{ 26 | "keywords": "layui官方教程" 27 | ,"frequency": 666 28 | ,"userNums": 333 29 | },{ 30 | "keywords": "layui官方教程" 31 | ,"frequency": 666 32 | ,"userNums": 333 33 | },{ 34 | "keywords": "layui官方教程" 35 | ,"frequency": 666 36 | ,"userNums": 333 37 | },{ 38 | "keywords": "layui官方教程" 39 | ,"frequency": 666 40 | ,"userNums": 333 41 | },{ 42 | "keywords": "layui官方教程" 43 | ,"frequency": 666 44 | ,"userNums": 333 45 | }] 46 | } -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/json/content/comment.js: -------------------------------------------------------------------------------- 1 | { 2 | "code": 0 3 | ,"msg": "" 4 | ,"count": "100" 5 | ,"data": [{ 6 | "id": "001" 7 | ,"reviewers": "赵" 8 | ,"content": "我又爱上编程了" 9 | ,"commtime": 20160312 10 | },{ 11 | "id": "002" 12 | ,"reviewers": "钱" 13 | ,"content": "女生出门要小心" 14 | ,"commtime": 20160821 15 | },{ 16 | "id": "003" 17 | ,"reviewers": "孙" 18 | ,"content": "框架就用layui" 19 | ,"commtime": 20161212 20 | },{ 21 | "id": "004" 22 | ,"reviewers": "李" 23 | ,"content": "心姐么么哒" 24 | ,"commtime": 20170311 25 | },{ 26 | "id": "005" 27 | ,"reviewers": "周" 28 | ,"content": "希望明天是个好天气" 29 | ,"commtime": 20170612 30 | },{ 31 | "id": "006" 32 | ,"reviewers": "吴" 33 | ,"content": "我又爱上编程了" 34 | ,"commtime": 20171112 35 | },{ 36 | "id": "007" 37 | ,"reviewers": "郑" 38 | ,"content": "女生出门要小心" 39 | ,"commtime": 20171230 40 | },{ 41 | "id": "008" 42 | ,"reviewers": "王" 43 | ,"content": "框架就用layui" 44 | ,"commtime": 20180112 45 | },{ 46 | "id": "009" 47 | ,"reviewers": "冯" 48 | ,"content": "心姐么么哒" 49 | ,"commtime": 20180221 50 | },{ 51 | "id": "010" 52 | ,"reviewers": "陈" 53 | ,"content": "希望明天是个好天气" 54 | ,"commtime": 20180312 55 | }] 56 | } -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/json/content/list.js: -------------------------------------------------------------------------------- 1 | { 2 | "code": 0 3 | ,"msg": "" 4 | ,"count": "100" 5 | ,"data": [{ 6 | "id": "001" 7 | ,"label": "美食" 8 | ,"title": "舌尖上的中国第一季" 9 | ,"author": "作者-1" 10 | ,"content": "通过中华美食的多个侧面,来展现食物给中国人生活带来的仪式、伦理等方面的文化;见识中国特色食材以及与食物相关、构成中国美食特有气质的一系列元素;了解中华饮食文化的精致和源远流长" 11 | ,"uploadtime": 20121204 12 | ,"status": true 13 | },{ 14 | "id": "002" 15 | ,"label": "美食" 16 | ,"title": "舌尖上的中国第二季" 17 | ,"author": "作者-2" 18 | ,"content": "以食物为窗口,读懂中国——通过美食,使人们可以有滋有味地认知这个古老的东方国度。“一方水土一方人”,本片将通过展示人们日常生活中与美食相关的多重侧面,描绘与感知中国人的文化传统、家族观念、生活态度与故土难离。人们收获、保存、烹饪、生产美食,并在其过程中留存和传承食物所承载的味觉记忆、饮食习俗、文化样态与家常情感。" 19 | ,"uploadtime": 20141204 20 | ,"status": false 21 | },{ 22 | "id": "003" 23 | ,"label": "美食" 24 | ,"title": "舌尖上的中国第三季" 25 | ,"author": "作者-3" 26 | ,"content": "以食物为窗口,读懂中国——通过美食,使人们可以有滋有味地认知这个古老的东方国度。“一方水土一方人”,本片将通过展示人们日常生活中与美食相关的多重侧面,描绘与感知中国人的文化传统、家族观念、生活态度与故土难离。人们收获、保存、烹饪、生产美食,并在其过程中留存和传承食物所承载的味觉记忆、饮食习俗、文化样态与家常情感将世界美食和中国美食进行比照。春耕、夏耘、秋收、冬藏,天人合一的东方哲学让中国饮食依时而变,智慧灵动,中医营养摄生学说创造了食材运用的新天地,儒家人伦道德则把心意和家的味道端上我们的餐桌。淘洗历史,糅合时光,一代又一代的中国人在天地间升起烟火,用至精至诚的心意烹制食物,一餐一食之间,中国人展示个性,确认归属,构建文明,理解和把握着世界的奥妙。" 27 | ,"uploadtime": 20161204 28 | ,"status": false 29 | },{ 30 | "id": "004" 31 | ,"label": "历史" 32 | ,"title": "诸葛亮骂王朗" 33 | ,"author": "作者-1" 34 | ,"content": "皓首匹夫!苍髯老贼!你即将命归于九泉之下,届时,有何面目见汉朝二十四代先帝?二臣贼子!你枉活七十有六,一生未立寸功,只会摇唇舞舌,助曹为虐!一条断脊之犬,还敢在我军阵前狺狺狂吠!我从未见过如此厚颜无耻之人!!!" 35 | ,"uploadtime": 20180201 36 | ,"status": false 37 | },{ 38 | "id": "005" 39 | ,"label": "新闻" 40 | ,"title": "新时代特色中国梦" 41 | ,"author": "作者-1" 42 | ,"content": "今天,我们比历史上任何时期都更接近、更有信心和能力实现中华民族伟大复兴的目标。新时代已经到来,蓝图已经绘就,中国梦离我们越来越近了。" 43 | ,"uploadtime": 20180512 44 | ,"status": false 45 | },{ 46 | "id": "006" 47 | ,"label": "新闻" 48 | ,"title": "新时代特色中国梦" 49 | ,"author": "作者-2" 50 | ,"content": "梦想不会主动走向我们,只有我们去主动实现梦想。行百里者半九十。虽然中国梦离我们越来越近了,但是要实现中国梦,还要靠我们以永不懈怠的精神状态、功在不舍的坚强意志,不忘初心,继续前进。" 51 | ,"uploadtime": 20180514 52 | ,"status": false 53 | },{ 54 | "id": "007" 55 | ,"label": "体育" 56 | ,"title": "皇马大战利物浦" 57 | ,"author": "作者-3" 58 | ,"content": "对欧足联而言,更想要产生个新冠军。连续三年都是同一个冠军队,这会毁掉欧冠……”格里姆表态,“皇马有梦幻般的阵容,但从促进竞争的角度而言,另一支球队获胜会更好。" 59 | ,"uploadtime": 20180515 60 | ,"status": false 61 | }] 62 | } -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/json/content/tags.js: -------------------------------------------------------------------------------- 1 | { 2 | "code": 0 3 | ,"msg": "" 4 | ,"count": "100" 5 | ,"data": [{ 6 | "id": "001" 7 | ,"tags": "美食" 8 | },{ 9 | "id": "002" 10 | ,"tags": "新闻" 11 | },{ 12 | "id": "003" 13 | ,"tags": "八卦" 14 | },{ 15 | "id": "004" 16 | ,"tags": "体育" 17 | },{ 18 | "id": "005" 19 | ,"tags": "音乐" 20 | }] 21 | } -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/json/forum/list.js: -------------------------------------------------------------------------------- 1 | { 2 | "code": 0 3 | ,"msg": "" 4 | ,"count": "100" 5 | ,"data": [{ 6 | "id": "1001" 7 | ,"poster": "赵" 8 | ,"avatar": "https://wx4.sinaimg.cn/mw1024/5db11ff4gy1fmx4keaw9pj20dw08caa4.jpg" 9 | ,"content": "为什么花儿这么么红" 10 | ,"posttime": 20160805 11 | ,"top": false 12 | },{ 13 | "id": "1002" 14 | ,"poster": "钱" 15 | ,"avatar": "https://wx4.sinaimg.cn/mw1024/5db11ff4gy1fmx4keaw9pj20dw08caa4.jpg" 16 | ,"content": "喜欢胡歌,赞赞赞" 17 | ,"posttime": 20161205 18 | ,"top": true 19 | },{ 20 | "id": "1003" 21 | ,"poster": "孙" 22 | ,"avatar": "https://wx4.sinaimg.cn/mw1024/5db11ff4gy1fmx4keaw9pj20dw08caa4.jpg" 23 | ,"content": "明天就要考试了,好紧张,求保佑" 24 | ,"posttime": 20170405 25 | ,"top": false 26 | },{ 27 | "id": "1004" 28 | ,"poster": "李" 29 | ,"avatar": "https://wx4.sinaimg.cn/mw1024/5db11ff4gy1fmx4keaw9pj20dw08caa4.jpg" 30 | ,"content": "希望明天是个好天气" 31 | ,"posttime": 20171005 32 | ,"top": false 33 | },{ 34 | "id": "1005" 35 | ,"poster": "周" 36 | ,"avatar": "https://wx4.sinaimg.cn/mw1024/5db11ff4gy1fmx4keaw9pj20dw08caa4.jpg" 37 | ,"content": "女追男隔层纱,是不是真的" 38 | ,"posttime": 20180205 39 | ,"top": false 40 | },{ 41 | "id": "1006" 42 | ,"poster": "吴" 43 | ,"avatar": "https://wx4.sinaimg.cn/mw1024/5db11ff4gy1fmx4keaw9pj20dw08caa4.jpg" 44 | ,"content": "竟然有人跳楼,年轻人想不开啊!" 45 | ,"posttime": 20180512 46 | ,"top": false 47 | },{ 48 | "id": "1007" 49 | ,"poster": "郑" 50 | ,"avatar": "https://wx4.sinaimg.cn/mw1024/5db11ff4gy1fmx4keaw9pj20dw08caa4.jpg" 51 | ,"content": "大家一定不能学那个年轻人,珍爱生命啊" 52 | ,"posttime": 20180512 53 | ,"top": false 54 | },{ 55 | "id": "1008" 56 | ,"poster": "王" 57 | ,"avatar": "https://wx4.sinaimg.cn/mw1024/5db11ff4gy1fmx4keaw9pj20dw08caa4.jpg" 58 | ,"content": "想知道南昌哪里有好吃的西安肉夹馍" 59 | ,"posttime": 20180514 60 | ,"top": false 61 | }] 62 | } -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/json/forum/replys.js: -------------------------------------------------------------------------------- 1 | { 2 | "code": 0 3 | ,"msg": "" 4 | ,"count": "100" 5 | ,"data": [{ 6 | "id": "001" 7 | ,"replyer": "吴" 8 | ,"cardid": "1002" 9 | ,"avatar": "https://wx2.sinaimg.cn/mw690/5db11ff4gy1fmx4kec5bvj20eb0h3mxh.jpg" 10 | ,"content": "有眼光,我也喜欢胡歌!" 11 | ,"replytime": 20161205 12 | },{ 13 | "id": "002" 14 | ,"replyer": "郑" 15 | ,"cardid": "1002" 16 | ,"avatar": "https://wx2.sinaimg.cn/mw690/5db11ff4gy1fmx4kec5bvj20eb0h3mxh.jpg" 17 | ,"content": "同上同上。" 18 | ,"replytime": 20161205 19 | },{ 20 | "id": "003" 21 | ,"replyer": "王" 22 | ,"cardid": "1003" 23 | ,"avatar": "https://wx2.sinaimg.cn/mw690/5db11ff4gy1fmx4kec5bvj20eb0h3mxh.jpg" 24 | ,"content": "能过一定过,不能过紧张也没用" 25 | ,"replytime": 20170405 26 | },{ 27 | "id": "004" 28 | ,"replyer": "冯" 29 | ,"cardid": "1001" 30 | ,"avatar": "https://wx2.sinaimg.cn/mw690/5db11ff4gy1fmx4kec5bvj20eb0h3mxh.jpg" 31 | ,"content": "可能因为你流鼻血了。" 32 | ,"replytime": 20170405 33 | },{ 34 | "id": "005" 35 | ,"replyer": "陈" 36 | ,"cardid": "1003" 37 | ,"avatar": "https://wx2.sinaimg.cn/mw690/5db11ff4gy1fmx4kec5bvj20eb0h3mxh.jpg" 38 | ,"content": "加油加油,看好你" 39 | ,"replytime": 20170405 40 | },{ 41 | "id": "006" 42 | ,"replyer": "褚" 43 | ,"cardid": "1005" 44 | ,"avatar": "https://wx2.sinaimg.cn/mw690/5db11ff4gy1fmx4kec5bvj20eb0h3mxh.jpg" 45 | ,"content": "纯属放屁" 46 | ,"replytime": 20180207 47 | },{ 48 | "id": "007" 49 | ,"replyer": "卫" 50 | ,"cardid": "1005" 51 | ,"avatar": "https://wx2.sinaimg.cn/mw690/5db11ff4gy1fmx4kec5bvj20eb0h3mxh.jpg" 52 | ,"content": "可以试试" 53 | ,"replytime": 20180207 54 | },{ 55 | "id": "006" 56 | ,"replyer": "蒋" 57 | ,"cardid": "1006" 58 | ,"avatar": "https://wx2.sinaimg.cn/mw690/5db11ff4gy1fmx4kec5bvj20eb0h3mxh.jpg" 59 | ,"content": "是啊是啊,太恐怖了。" 60 | ,"replytime": 20180512 61 | },{ 62 | "id": "007" 63 | ,"replyer": "沈" 64 | ,"cardid": "1008" 65 | ,"avatar": "https://wx2.sinaimg.cn/mw690/5db11ff4gy1fmx4kec5bvj20eb0h3mxh.jpg" 66 | ,"content": "魏家凉皮的凉皮就很不错奥。" 67 | ,"replytime": 20180515 68 | }] 69 | } -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/json/message/all.js: -------------------------------------------------------------------------------- 1 | { 2 | "code": 0 3 | ,"msg": "" 4 | ,"count": 60 5 | ,"data": [{ 6 | "id": 123 7 | ,"title": "你好新朋友,感谢使用 layuiAdmin" 8 | ,"time": 1510363800000 9 | }, { 10 | "id": 111 11 | ,"title": "贤心发来了一段私信" 12 | ,"time": 1510212370000 13 | }, { 14 | "id": 111 15 | ,"title": "贤心发来了一段私信" 16 | ,"time": 1510212370000 17 | }, { 18 | "id": 111 19 | ,"title": "贤心发来了一段私信" 20 | ,"time": 1510212370000 21 | }, { 22 | "id": 111 23 | ,"title": "贤心发来了一段私信" 24 | ,"time": 1510212370000 25 | }, { 26 | "id": 111 27 | ,"title": "贤心发来了一段私信" 28 | ,"time": 1510212370000 29 | }, { 30 | "id": 111 31 | ,"title": "贤心发来了一段私信" 32 | ,"time": 1510212370000 33 | }, { 34 | "id": 111 35 | ,"title": "贤心发来了一段私信" 36 | ,"time": 1510212370000 37 | }, { 38 | "id": 111 39 | ,"title": "贤心发来了一段私信" 40 | ,"time": 1510212370000 41 | }, { 42 | "id": 111 43 | ,"title": "贤心发来了一段私信" 44 | ,"time": 1507447570000 45 | }] 46 | } -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/json/message/detail.js: -------------------------------------------------------------------------------- 1 | { 2 | "code": 0 3 | ,"msg": "" 4 | ,"data": { 5 | "id": 111 6 | ,"title": "你好新朋友,感谢使用 layuiAdmin" 7 | ,"content": "

一直以来,layui 秉承无偿开源的初心,虔诚致力于服务各层次前后端 Web 开发者,在商业横飞的当今时代,这一信念从未动摇。即便身单力薄,仍然重拾决心,埋头造轮,以尽可能地填补产品本身的缺口。在过去的一段的时间,我一直在寻求持久之道,已维持你眼前所见的一切。而 layuiAdmin 是我们尝试解决的手段之一。我相信真正有爱于 layui 生态的你,定然不会错过这一拥抱吧。

子曰:君子不用防,小人防不住。请务必通过官网正规渠道,获得 layuiAdmin

—— 贤心(layui.com

" 8 | ,"time": 1510363800000 9 | } 10 | } -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/json/message/direct.js: -------------------------------------------------------------------------------- 1 | { 2 | "code": 0 3 | ,"msg": "" 4 | ,"count": 60 5 | ,"data": [{ 6 | "id": 123 7 | ,"title": "贤心发来了一段私信" 8 | ,"time": 1510363800000 9 | }, { 10 | "id": 111 11 | ,"title": "贤心发来了一段私信" 12 | ,"time": 1510212370000 13 | }, { 14 | "id": 111 15 | ,"title": "贤心发来了一段私信" 16 | ,"time": 1510212370000 17 | }, { 18 | "id": 111 19 | ,"title": "贤心发来了一段私信" 20 | ,"time": 1510212370000 21 | }, { 22 | "id": 111 23 | ,"title": "贤心发来了一段私信" 24 | ,"time": 1510212370000 25 | }, { 26 | "id": 111 27 | ,"title": "贤心发来了一段私信" 28 | ,"time": 1510212370000 29 | }, { 30 | "id": 111 31 | ,"title": "贤心发来了一段私信" 32 | ,"time": 1510212370000 33 | }, { 34 | "id": 111 35 | ,"title": "贤心发来了一段私信" 36 | ,"time": 1510212370000 37 | }, { 38 | "id": 111 39 | ,"title": "贤心发来了一段私信" 40 | ,"time": 1510212370000 41 | }, { 42 | "id": 111 43 | ,"title": "贤心发来了一段私信" 44 | ,"time": 1507447570000 45 | }] 46 | } -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/json/message/notice.js: -------------------------------------------------------------------------------- 1 | { 2 | "code": 0 3 | ,"msg": "" 4 | ,"count": 60 5 | ,"data": [{ 6 | "id": 123 7 | ,"title": "你好新朋友,感谢使用 layuiAdmin" 8 | ,"time": 1510363800000 9 | }, { 10 | "id": 111 11 | ,"title": "你好新朋友,感谢使用 layuiAdmin" 12 | ,"time": 1510212370000 13 | }, { 14 | "id": 111 15 | ,"title": "你好新朋友,感谢使用 layuiAdmin" 16 | ,"time": 1510212370000 17 | }, { 18 | "id": 111 19 | ,"title": "你好新朋友,感谢使用 layuiAdmin" 20 | ,"time": 1510212370000 21 | }, { 22 | "id": 111 23 | ,"title": "你好新朋友,感谢使用 layuiAdmin" 24 | ,"time": 1510212370000 25 | }, { 26 | "id": 111 27 | ,"title": "你好新朋友,感谢使用 layuiAdmin" 28 | ,"time": 1510212370000 29 | }, { 30 | "id": 111 31 | ,"title": "你好新朋友,感谢使用 layuiAdmin" 32 | ,"time": 1510212370000 33 | }, { 34 | "id": 111 35 | ,"title": "你好新朋友,感谢使用 layuiAdmin" 36 | ,"time": 1510212370000 37 | }, { 38 | "id": 111 39 | ,"title": "你好新朋友,感谢使用 layuiAdmin" 40 | ,"time": 1510212370000 41 | }, { 42 | "id": 111 43 | ,"title": "你好新朋友,感谢使用 layuiAdmin" 44 | ,"time": 1507447570000 45 | }] 46 | } -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/json/useradmin/mangadmin.js: -------------------------------------------------------------------------------- 1 | { 2 | "code": 0 3 | ,"msg": "" 4 | ,"count": "100" 5 | ,"data": [{ 6 | "id": "1001" 7 | ,"loginname": "admin" 8 | ,"telphone": "11111111111" 9 | ,"email": "111@qq.com" 10 | ,"role": "超级管理员" 11 | ,"jointime": "20150217" 12 | ,"check": true 13 | },{ 14 | "id": "1002" 15 | ,"loginname": "common-1" 16 | ,"telphone": "22222222222" 17 | ,"email": "222@qq.com" 18 | ,"role": "管理员" 19 | ,"jointime": "20160217" 20 | ,"check": false 21 | },{ 22 | "id": "1003" 23 | ,"loginname": "common-2" 24 | ,"telphone": "33333333333" 25 | ,"email": "333@qq.com" 26 | ,"role": "管理员" 27 | ,"jointime": "20161012" 28 | ,"check": false 29 | },{ 30 | "id": "1004" 31 | ,"loginname": "common-3" 32 | ,"telphone": "44444444444" 33 | ,"email": "444@qq.com" 34 | ,"role": "管理员" 35 | ,"jointime": "20170518" 36 | ,"check": true 37 | },{ 38 | "id": "1005" 39 | ,"loginname": "common-4" 40 | ,"telphone": "55555555555" 41 | ,"email": "555@qq.com" 42 | ,"role": "管理员" 43 | ,"jointime": "20180101" 44 | ,"check": false 45 | },{ 46 | "id": "1006" 47 | ,"loginname": "common-5" 48 | ,"telphone": "66666666666" 49 | ,"email": "666@qq.com" 50 | ,"role": "管理员" 51 | ,"jointime": "20160217" 52 | ,"check": false 53 | },{ 54 | "id": "1007" 55 | ,"loginname": "common-6" 56 | ,"telphone": "77777777777" 57 | ,"email": "777@qq.com" 58 | ,"role": "管理员" 59 | ,"jointime": "20161012" 60 | ,"check": false 61 | },{ 62 | "id": "1008" 63 | ,"loginname": "common-7" 64 | ,"telphone": "88888888888" 65 | ,"email": "888@qq.com" 66 | ,"role": "管理员" 67 | ,"jointime": "20170518" 68 | ,"check": true 69 | },{ 70 | "id": "1009" 71 | ,"loginname": "common-8" 72 | ,"telphone": "99999999999" 73 | ,"email": "999@qq.com" 74 | ,"role": "管理员" 75 | ,"jointime": "20180101" 76 | ,"check": false 77 | }] 78 | } 79 | -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/json/useradmin/role.js: -------------------------------------------------------------------------------- 1 | { 2 | "code": 0 3 | ,"msg": "" 4 | ,"count": "100" 5 | ,"data": [{ 6 | "id": "1" 7 | ,"rolename": "超级管理员" 8 | ,"limits": "管理所有的管理员" 9 | ,"descr": "拥有至高无上的权利" 10 | ,"check": true 11 | },{ 12 | "id": "2" 13 | ,"rolename": "管理员" 14 | ,"limits": "所有列表的管理" 15 | ,"descr": "事情很多,权力很大" 16 | ,"check": true 17 | },{ 18 | "id": "3" 19 | ,"rolename": "文章撰写员" 20 | ,"limits": "负责文章的编写" 21 | ,"descr": "文采第一的人才集合" 22 | ,"check": false 23 | },{ 24 | "id": "4" 25 | ,"rolename": "纠错员" 26 | ,"limits": "负责文章内容的修改" 27 | ,"descr": "暂无" 28 | ,"check": false 29 | },{ 30 | "id": "5" 31 | ,"rolename": "统计人员" 32 | ,"limits": "对数据进行统计" 33 | ,"descr": "暂无" 34 | ,"check": false 35 | },{ 36 | "id": "6" 37 | ,"rolename": "评估员" 38 | ,"limits": "对统计数据进行评估" 39 | ,"descr": "及时捕捉市场发展动态" 40 | ,"check": false 41 | },{ 42 | "id": "7" 43 | ,"rolename": "采购员" 44 | ,"limits": "负责员工的伙食" 45 | ,"descr": "暂无" 46 | ,"check": false 47 | },{ 48 | "id": "8" 49 | ,"rolename": "推销员" 50 | ,"limits": "介绍销售公司产品" 51 | ,"descr": "暂无" 52 | ,"check": false 53 | }] 54 | } -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/json/workorder/demo.js: -------------------------------------------------------------------------------- 1 | { 2 | "code": 0 3 | ,"msg": "" 4 | ,"count": "100" 5 | ,"data": [{ 6 | "orderid": 111 7 | ,"title": "移动支付踏入马来西亚,聚合支付紧随其后" 8 | ,"attr": "公告" 9 | ,"progress": "25%" 10 | ,"submit": "贤心" 11 | ,"accept": "员工-1" 12 | ,"state": "处理中" 13 | },{ 14 | "orderid": 222 15 | ,"title": "凡科拖拽式免费建站神器,享双重优惠!" 16 | ,"attr": "讨论" 17 | ,"progress": "100%" 18 | ,"submit": "猫吃" 19 | ,"accept": "员工-1" 20 | ,"state": "已处理" 21 | },{ 22 | "orderid": 333 23 | ,"title": "看着别人的老板给员工送汽车有感" 24 | ,"attr": "分享" 25 | ,"progress": "0%" 26 | ,"submit": "纸飞机" 27 | ,"accept": "" 28 | ,"state": "未分配" 29 | },{ 30 | "orderid": 444 31 | ,"title": "DISCUZ的云平台应该彻底完了" 32 | ,"attr": "提问" 33 | ,"progress": "0%" 34 | ,"submit": "纸飞机" 35 | ,"accept": "" 36 | ,"state": "未分配" 37 | },{ 38 | "orderid": 555 39 | ,"title": "现在个人网站还有必要长期坚持下去吗?" 40 | ,"attr": "提问" 41 | ,"progress": "50%" 42 | ,"submit": "纸飞机" 43 | ,"accept": "员工-2" 44 | ,"state": "处理中" 45 | },{ 46 | "orderid": 666 47 | ,"title": "向北京公安局投诉了京东商城" 48 | ,"attr": "公告" 49 | ,"progress": "25%" 50 | ,"submit": "纸飞机" 51 | ,"accept": "员工-3" 52 | ,"state": "处理中" 53 | },{ 54 | "orderid": 777 55 | ,"title": "游戏 网页美工,一个月多少工资才正常?" 56 | ,"attr": "提问" 57 | ,"progress": "100%" 58 | ,"submit": "纸飞机" 59 | ,"accept": "员工-1" 60 | ,"state": "已处理" 61 | },{ 62 | "orderid": 888 63 | ,"title": "几年没来了,蓝色理想帖子这么少了啊" 64 | ,"attr": "提问" 65 | ,"progress": "0%" 66 | ,"submit": "纸飞机" 67 | ,"accept": "" 68 | ,"state": "未分配" 69 | },{ 70 | "orderid": 999 71 | ,"title": "我的天,求推荐靠谱的学习网站" 72 | ,"attr": "提问" 73 | ,"progress": "50%" 74 | ,"submit": "纸飞机" 75 | ,"accept": "员工-2" 76 | ,"state": "处理中" 77 | }] 78 | } -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/css/modules/code.css: -------------------------------------------------------------------------------- 1 | /** layui-v2.3.0 MIT License By https://www.layui.com */ 2 | html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #e2e2e2;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:32px;line-height:32px;border-bottom:1px solid #e2e2e2}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none} -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/css/modules/layer/default/icon-ext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/css/modules/layer/default/icon-ext.png -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/css/modules/layer/default/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/css/modules/layer/default/icon.png -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/css/modules/layer/default/loading-0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/css/modules/layer/default/loading-0.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/css/modules/layer/default/loading-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/css/modules/layer/default/loading-1.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/css/modules/layer/default/loading-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/css/modules/layer/default/loading-2.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/font/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/font/iconfont.eot -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/font/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/font/iconfont.ttf -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/font/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/font/iconfont.woff -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/0.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/1.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/10.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/10.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/11.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/11.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/12.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/12.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/13.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/13.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/14.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/14.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/15.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/15.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/16.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/17.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/17.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/18.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/18.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/19.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/19.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/2.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/20.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/20.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/21.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/21.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/22.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/22.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/23.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/23.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/24.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/24.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/25.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/25.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/26.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/26.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/27.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/27.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/28.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/28.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/29.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/29.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/3.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/30.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/30.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/31.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/31.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/32.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/33.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/33.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/34.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/34.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/35.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/35.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/36.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/36.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/37.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/37.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/38.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/38.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/39.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/39.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/4.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/40.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/40.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/41.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/41.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/42.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/42.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/43.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/43.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/44.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/44.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/45.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/45.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/46.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/46.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/47.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/47.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/48.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/48.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/49.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/49.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/5.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/50.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/50.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/51.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/51.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/52.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/52.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/53.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/53.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/54.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/54.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/55.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/55.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/56.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/56.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/57.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/57.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/58.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/58.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/59.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/59.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/6.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/60.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/60.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/61.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/61.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/62.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/62.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/63.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/63.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/64.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/64.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/65.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/65.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/66.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/66.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/67.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/67.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/68.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/68.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/69.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/69.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/7.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/70.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/70.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/71.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/71.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/8.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/images/face/9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/layui/images/face/9.gif -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/lay/modules/code.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.3.0 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var a=layui.$,l="http://www.layui.com/doc/modules/code.html";e("code",function(e){var t=[];e=e||{},e.elem=a(e.elem||".layui-code"),e.about=!("about"in e)||e.about,e.elem.each(function(){t.push(this)}),layui.each(t.reverse(),function(t,i){var c=a(i),o=c.html();(c.attr("lay-encode")||e.encode)&&(o=o.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")),c.html('
  1. '+o.replace(/[\r\t\n]+/g,"
  2. ")+"
"),c.find(">.layui-code-h3")[0]||c.prepend('

'+(c.attr("lay-title")||e.title||"code")+(e.about?'layui.code':"")+"

");var d=c.find(">.layui-code-ol");c.addClass("layui-box layui-code-view"),(c.attr("lay-skin")||e.skin)&&c.addClass("layui-code-"+(c.attr("lay-skin")||e.skin)),(d.find("li").length/100|0)>0&&d.css("margin-left",(d.find("li").length/100|0)+"px"),(c.attr("lay-height")||e.height)&&d.css("max-height",c.attr("lay-height")||e.height)})})}).addcss("modules/code.css","skincodecss"); -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/lay/modules/flow.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.3.0 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var l=layui.$,o=function(e){},t='';o.prototype.load=function(e){var o,i,n,r,a=this,c=0;e=e||{};var f=l(e.elem);if(f[0]){var m=l(e.scrollElem||document),u=e.mb||50,s=!("isAuto"in e)||e.isAuto,v=e.end||"没有更多了",y=e.scrollElem&&e.scrollElem!==document,d="加载更多",h=l('
'+d+"
");f.find(".layui-flow-more")[0]||f.append(h);var p=function(e,t){e=l(e),h.before(e),t=0==t||null,t?h.html(v):h.find("a").html(d),i=t,o=null,n&&n()},g=function(){o=!0,h.find("a").html(t),"function"==typeof e.done&&e.done(++c,p)};if(g(),h.find("a").on("click",function(){l(this);i||o||g()}),e.isLazyimg)var n=a.lazyimg({elem:e.elem+" img",scrollElem:e.scrollElem});return s?(m.on("scroll",function(){var e=l(this),t=e.scrollTop();r&&clearTimeout(r),i||(r=setTimeout(function(){var i=y?e.height():l(window).height(),n=y?e.prop("scrollHeight"):document.documentElement.scrollHeight;n-t-i<=u&&(o||g())},100))}),a):a}},o.prototype.lazyimg=function(e){var o,t=this,i=0;e=e||{};var n=l(e.scrollElem||document),r=e.elem||"img",a=e.scrollElem&&e.scrollElem!==document,c=function(e,l){var o=n.scrollTop(),r=o+l,c=a?function(){return e.offset().top-n.offset().top+o}():e.offset().top;if(c>=o&&c<=r&&!e.attr("src")){var m=e.attr("lay-src");layui.img(m,function(){var l=t.lazyimg.elem.eq(i);e.attr("src",m).removeAttr("lay-src"),l[0]&&f(l),i++})}},f=function(e,o){var f=a?(o||n).height():l(window).height(),m=n.scrollTop(),u=m+f;if(t.lazyimg.elem=l(r),e)c(e,f);else for(var s=0;su)break}};if(f(),!o){var m;n.on("scroll",function(){var e=l(this);m&&clearTimeout(m),m=setTimeout(function(){f(null,e)},50)}),o=!0}return f},e("flow",new o)}); -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/lay/modules/laytpl.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.3.0 MIT License By https://www.layui.com */ 2 | ;layui.define(function(e){"use strict";var r={open:"{{",close:"}}"},c={exp:function(e){return new RegExp(e,"g")},query:function(e,c,t){var o=["#([\\s\\S])+?","([^{#}])*?"][e||0];return n((c||"")+r.open+o+r.close+(t||""))},escape:function(e){return String(e||"").replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")},error:function(e,r){var c="Laytpl Error:";return"object"==typeof console&&console.error(c+e+"\n"+(r||"")),c+e}},n=c.exp,t=function(e){this.tpl=e};t.pt=t.prototype,window.errors=0,t.pt.parse=function(e,t){var o=this,p=e,a=n("^"+r.open+"#",""),l=n(r.close+"$","");e=e.replace(/\s+|\r|\t|\n/g," ").replace(n(r.open+"#"),r.open+"# ").replace(n(r.close+"}"),"} "+r.close).replace(/\\/g,"\\\\").replace(n(r.open+"!(.+?)!"+r.close),function(e){return e=e.replace(n("^"+r.open+"!"),"").replace(n("!"+r.close),"").replace(n(r.open+"|"+r.close),function(e){return e.replace(/(.)/g,"\\$1")})}).replace(/(?="|')/g,"\\").replace(c.query(),function(e){return e=e.replace(a,"").replace(l,""),'";'+e.replace(/\\/g,"")+';view+="'}).replace(c.query(1),function(e){var c='"+(';return e.replace(/\s/g,"")===r.open+r.close?"":(e=e.replace(n(r.open+"|"+r.close),""),/^=/.test(e)&&(e=e.replace(/^=/,""),c='"+_escape_('),c+e.replace(/\\/g,"")+')+"')}),e='"use strict";var view = "'+e+'";return view;';try{return o.cache=e=new Function("d, _escape_",e),e(t,c.escape)}catch(u){return delete o.cache,c.error(u,p)}},t.pt.render=function(e,r){var n,t=this;return e?(n=t.cache?t.cache(e,c.escape):t.parse(t.tpl,e),r?void r(n):n):c.error("no data")};var o=function(e){return"string"!=typeof e?c.error("Template not found"):new t(e)};o.config=function(e){e=e||{};for(var c in e)r[c]=e[c]},o.v="1.2.0",e("laytpl",o)}); -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/lay/modules/rate.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.3.0 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var a=layui.jquery,i={config:{},index:layui.rate?layui.rate.index+1e4:0,set:function(e){var i=this;return i.config=a.extend({},i.config,e),i},on:function(e,a){return layui.onevent.call(this,n,e,a)}},l=function(){var e=this,a=e.config;return{setvalue:function(a){e.setvalue.call(e,a)},config:a}},n="rate",t="layui-rate",o="layui-icon-rate",s="layui-icon-rate-solid",u="layui-icon-rate-half",r="layui-icon-rate-solid layui-icon-rate-half",c="layui-icon-rate-solid layui-icon-rate",f="layui-icon-rate layui-icon-rate-half",v=function(e){var l=this;l.index=++i.index,l.config=a.extend({},l.config,i.config,e),l.render()};v.prototype.config={length:5,text:!1,readonly:!1,half:!1,value:0,theme:""},v.prototype.render=function(){var e=this,i=e.config,l=i.theme?'style="color: '+i.theme+';"':"";i.elem=a(i.elem),parseInt(i.value)!==i.value&&(i.half||(i.value=Math.ceil(i.value)-i.value<.5?Math.ceil(i.value):Math.floor(i.value)));for(var n='"+(i.text?''+i.value+"星":"")+"";var c=i.elem,f=c.next("."+t);f[0]&&f.remove(),e.elemTemp=a(n),i.span=e.elemTemp.next("span"),i.setText&&i.setText(i.value),c.html(e.elemTemp),c.addClass("layui-inline"),i.readonly||e.action()},v.prototype.setvalue=function(e){var a=this,i=a.config;i.value=e,a.render()},v.prototype.action=function(){var e=this,i=e.config,l=e.elemTemp,n=l.find("i").width();l.children("li").each(function(e){var t=e+1,v=a(this);v.on("click",function(e){if(i.value=t,i.half){var o=e.pageX-a(this).offset().left;o<=n/2&&(i.value=i.value-.5)}i.text&&l.next("span").text(i.value+"星"),i.choose&&i.choose(i.value),i.setText&&i.setText(i.value)}),v.on("mousemove",function(e){if(l.find("i").each(function(){a(this).addClass(o).removeClass(r)}),l.find("i:lt("+t+")").each(function(){a(this).addClass(s).removeClass(f)}),i.half){var c=e.pageX-a(this).offset().left;c<=n/2&&v.children("i").addClass(u).removeClass(s)}}),v.on("mouseleave",function(){l.find("i").each(function(){a(this).addClass(o).removeClass(r)}),l.find("i:lt("+Math.floor(i.value)+")").each(function(){a(this).addClass(s).removeClass(f)}),i.half&&parseInt(i.value)!==i.value&&l.children("li:eq("+Math.floor(i.value)+")").children("i").addClass(u).removeClass(c)})})},v.prototype.events=function(){var e=this;e.config},i.render=function(e){var a=new v(e);return l.call(a)},e(n,i)}); -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/layui/lay/modules/util.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.3.0 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var t=layui.$,i={fixbar:function(e){var i,a,o="layui-fixbar",r="layui-fixbar-top",l=t(document),n=t("body");e=t.extend({showHeight:200},e),e.bar1=e.bar1===!0?"":e.bar1,e.bar2=e.bar2===!0?"":e.bar2,e.bgcolor=e.bgcolor?"background-color:"+e.bgcolor:"";var c=[e.bar1,e.bar2,""],g=t(['"].join("")),u=g.find("."+r),s=function(){var t=l.scrollTop();t>=e.showHeight?i||(u.show(),i=1):i&&(u.hide(),i=0)};t("."+o)[0]||("object"==typeof e.css&&g.css(e.css),n.append(g),s(),g.find("li").on("click",function(){var i=t(this),a=i.attr("lay-type");"top"===a&&t("html,body").animate({scrollTop:0},200),e.click&&e.click.call(this,a)}),l.on("scroll",function(){clearTimeout(a),a=setTimeout(function(){s()},100)}))},countdown:function(e,t,i){var a=this,o="function"==typeof t,r=new Date(e).getTime(),l=new Date(!t||o?(new Date).getTime():t).getTime(),n=r-l,c=[Math.floor(n/864e5),Math.floor(n/36e5)%24,Math.floor(n/6e4)%60,Math.floor(n/1e3)%60];o&&(i=t);var g=setTimeout(function(){a.countdown(e,l+1e3,i)},1e3);return i&&i(n>0?c:[0,0,0,0],t,g),n<=0&&clearTimeout(g),g},timeAgo:function(e,t){var i=this,a=[[],[]],o=(new Date).getTime()-new Date(e).getTime();return o>6912e5?(o=new Date(e),a[0][0]=i.digit(o.getFullYear(),4),a[0][1]=i.digit(o.getMonth()+1),a[0][2]=i.digit(o.getDate()),t||(a[1][0]=i.digit(o.getHours()),a[1][1]=i.digit(o.getMinutes()),a[1][2]=i.digit(o.getSeconds())),a[0].join("-")+" "+a[1].join(":")):o>=864e5?(o/1e3/60/60/24|0)+"天前":o>=36e5?(o/1e3/60/60|0)+"小时前":o>=12e4?(o/1e3/60|0)+"分钟前":o<0?"未来":"刚刚"},digit:function(e,t){var i="";e=String(e),t=t||2;for(var a=e.length;a/g,">").replace(/'/g,"'").replace(/"/g,""")}};e("util",i)}); -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/lib/extend/echartsTheme.js: -------------------------------------------------------------------------------- 1 | /** layuiAdmin.std-v1.0.0 LPPL License By http://www.layui.com/admin/ */ 2 | ;layui.define(function(e){e("echartsTheme",{color:["#009688","#1E9FFF","#5FB878","#FFB980","#D87A80","#8d98b3","#e5cf0d","#97b552","#95706d","#dc69aa","#07a2a4","#9a7fd1","#588dd5","#f5994e","#c05050","#59678c","#c9ab00","#7eb00a","#6f5553","#c14089"],title:{textStyle:{fontWeight:"normal",color:"#666"}},dataRange:{itemWidth:15,color:["#009688","#e0ffff"]},toolbox:{color:["#1e90ff","#1e90ff","#1e90ff","#1e90ff"],effectiveColor:"#ff4500"},tooltip:{backgroundColor:"rgba(50,50,50,0.5)",axisPointer:{type:"line",lineStyle:{color:"#009688"},crossStyle:{color:"#008acd"},shadowStyle:{color:"rgba(200,200,200,0.2)"}}},dataZoom:{dataBackgroundColor:"#efefff",fillerColor:"rgba(182,162,222,0.2)",handleColor:"#008acd"},grid:{borderColor:"#eee"},categoryAxis:{axisLine:{lineStyle:{color:"#009688"}},axisTick:{show:!1},splitLine:{lineStyle:{color:["#eee"]}}},valueAxis:{axisLine:{lineStyle:{color:"#009688"}},splitArea:{show:!0,areaStyle:{color:["rgba(250,250,250,0.1)","rgba(200,200,200,0.1)"]}},splitLine:{lineStyle:{color:["#eee"]}}},polar:{axisLine:{lineStyle:{color:"#ddd"}},splitArea:{show:!0,areaStyle:{color:["rgba(250,250,250,0.2)","rgba(200,200,200,0.2)"]}},splitLine:{lineStyle:{color:"#ddd"}}},timeline:{lineStyle:{color:"#009688"},controlStyle:{normal:{color:"#009688"},emphasis:{color:"#009688"}},symbol:"emptyCircle",symbolSize:3},bar:{itemStyle:{normal:{barBorderRadius:2},emphasis:{barBorderRadius:2}}},line:{smooth:!0,symbol:"emptyCircle",symbolSize:3},k:{itemStyle:{normal:{color:"#d87a80",color0:"#2ec7c9",lineStyle:{color:"#d87a80",color0:"#2ec7c9"}}}},scatter:{symbol:"circle",symbolSize:4},radar:{symbol:"emptyCircle",symbolSize:3},map:{itemStyle:{normal:{areaStyle:{color:"#ddd"},label:{textStyle:{color:"#d87a80"}}},emphasis:{areaStyle:{color:"#fe994e"}}}},force:{itemStyle:{normal:{linkStyle:{color:"#1e90ff"}}}},chord:{itemStyle:{normal:{borderWidth:1,borderColor:"rgba(128, 128, 128, 0.5)",chordStyle:{lineStyle:{color:"rgba(128, 128, 128, 0.5)"}}},emphasis:{borderWidth:1,borderColor:"rgba(128, 128, 128, 0.5)",chordStyle:{lineStyle:{color:"rgba(128, 128, 128, 0.5)"}}}}},gauge:{axisLine:{lineStyle:{color:[[.2,"#2ec7c9"],[.8,"#5ab1ef"],[1,"#d87a80"]],width:10}},axisTick:{splitNumber:10,length:15,lineStyle:{color:"auto"}},splitLine:{length:22,lineStyle:{color:"auto"}},pointer:{width:5}},textStyle:{fontFamily:"微软雅黑, Arial, Verdana, sans-serif"}})}); -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/lib/index.js: -------------------------------------------------------------------------------- 1 | /** layuiAdmin.std-v1.0.0 LPPL License By http://www.layui.com/admin/ */ 2 | ;layui.extend({setter:"config",admin:"lib/admin",view:"lib/view"}).define(["setter","admin"],function(a){var e=layui.setter,i=layui.element,n=layui.admin,t=n.tabsPage,d=layui.view,l=function(a,d){var l,b=r("#LAY_app_tabsheader>li"),y=a;/*.replace(/(^http(s*):)|(\?[\s\S]*$)/g,"");*/if(b.each(function(e){var i=r(this),n=i.attr("lay-id");n===a&&(l=!0,t.index=e)}),d=d||"新标签页",e.pageTabs)l||(r(s).append(['
','',"
"].join("")),t.index=b.length,i.tabAdd(o,{title:""+d+"",id:a,attr:y}));else{var u=n.tabsBody(n.tabsPage.index).find(".layadmin-iframe");u[0].contentWindow.location.href=a}i.tabChange(o,a),n.tabsBodyChange(t.index,{url:a,text:d})},s="#LAY_app_body",o="layadmin-layout-tabs",r=layui.$;r(window);n.screen()<2&&n.sideFlexible(),layui.config({base:e.base+"modules/"}),layui.each(e.extend,function(a,i){var n={};n[i]="{/}"+e.base+"lib/extend/"+i,layui.extend(n)}),d().autoRender(),layui.use("common"),a("index",{openTabsPage:l})}); -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/modules/common.js: -------------------------------------------------------------------------------- 1 | /** layuiAdmin.std-v1.0.0 LPPL License By http://www.layui.com/admin/ */ 2 | ;layui.define(function(e){var i=(layui.$,layui.layer,layui.laytpl,layui.setter,layui.view,layui.admin);i.events.logout=function(){i.req({url:layui.setter.base+"json/user/logout.js",type:"get",data:{},done:function(e){i.exit(function(){location.href="user/login.html"})}})},e("common",{})}); -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/modules/forum.js: -------------------------------------------------------------------------------- 1 | /** layuiAdmin.std-v1.0.0 LPPL License By http://www.layui.com/admin/ */ 2 | ;layui.define(["table","form"],function(e){var t=layui.$,i=layui.table;layui.form;i.render({elem:"#LAY-app-forum-list",url:layui.setter.base+"json/forum/list.js",cols:[[{type:"checkbox",fixed:"left"},{field:"id",width:100,title:"ID",sort:!0},{field:"poster",title:"发帖人"},{field:"avatar",title:"头像",width:100,templet:"#imgTpl"},{field:"content",title:"发帖内容"},{field:"posttime",title:"发帖时间",sort:!0},{field:"top",title:"置顶",templet:"#buttonTpl",minWidth:80,align:"center"},{title:"操作",width:150,align:"center",fixed:"right",toolbar:"#table-forum-list"}]],page:!0,limit:10,limits:[10,15,20,25,30],text:"对不起,加载出现异常!"}),i.on("tool(LAY-app-forum-list)",function(e){e.data;if("del"===e.event)layer.confirm("确定删除此条帖子?",function(t){e.del(),layer.close(t)});else if("edit"===e.event){t(e.tr);layer.open({type:2,title:"编辑帖子",content:"../../../views/app/forum/listform.html",area:["550px","400px"],btn:["确定","取消"],resize:!1,yes:function(e,t){var l=window["layui-layer-iframe"+e],r="LAY-app-forum-submit",o=t.find("iframe").contents().find("#"+r);l.layui.form.on("submit("+r+")",function(t){t.field;i.reload("LAY-app-forum-list"),layer.close(e)}),o.trigger("click")},success:function(e,t){}})}}),i.render({elem:"#LAY-app-forumreply-list",url:layui.setter.base+"json/forum/replys.js",cols:[[{type:"checkbox",fixed:"left"},{field:"id",width:100,title:"ID",sort:!0},{field:"replyer",title:"回帖人"},{field:"cardid",title:"回帖ID",sort:!0},{field:"avatar",title:"头像",width:100,templet:"#imgTpl"},{field:"content",title:"回帖内容",width:200},{field:"replytime",title:"回帖时间",sort:!0},{title:"操作",width:150,align:"center",fixed:"right",toolbar:"#table-forum-replys"}]],page:!0,limit:10,limits:[10,15,20,25,30],text:"对不起,加载出现异常!"}),i.on("tool(LAY-app-forumreply-list)",function(e){e.data;if("del"===e.event)layer.confirm("确定删除此条评论?",function(t){e.del(),layer.close(t)});else if("edit"===e.event){t(e.tr);layer.open({type:2,title:"编辑评论",content:"../../../views/app/forum/replysform.html",area:["550px","350px"],btn:["确定","取消"],resize:!1,yes:function(t,i){var l=i.find("iframe").contents().find("#layuiadmin-form-replys"),r=l.find('textarea[name="content"]').val();e.update({content:r}),layer.close(t)},success:function(e,t){}})}}),e("forum",{})}); -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/modules/message.js: -------------------------------------------------------------------------------- 1 | /** layuiAdmin.std-v1.0.0 LPPL License By http://www.layui.com/admin/ */ 2 | ;layui.define(["admin","table","util"],function(e){var t=layui.$,i=(layui.admin,layui.table),l=(layui.element,{all:{text:"全部消息",id:"LAY-app-message-all"},notice:{text:"通知",id:"LAY-app-message-notice"},direct:{text:"私信",id:"LAY-app-message-direct"}}),a=function(e){return''+e.title};i.render({elem:"#LAY-app-message-all",url:layui.setter.base+"json/message/all.js",page:!0,cols:[[{type:"checkbox",fixed:"left"},{field:"title",title:"标题内容",minWidth:300,templet:a},{field:"time",title:"时间",width:170,templet:"
{{ layui.util.timeAgo(d.time) }}
"}]],skin:"line"}),i.render({elem:"#LAY-app-message-notice",url:layui.setter.base+"json/message/notice.js",page:!0,cols:[[{type:"checkbox",fixed:"left"},{field:"title",title:"标题内容",minWidth:300,templet:a},{field:"time",title:"时间",width:170,templet:"
{{ layui.util.timeAgo(d.time) }}
"}]],skin:"line"}),i.render({elem:"#LAY-app-message-direct",url:layui.setter.base+"json/message/direct.js",page:!0,cols:[[{type:"checkbox",fixed:"left"},{field:"title",title:"标题内容",minWidth:300,templet:a},{field:"time",title:"时间",width:170,templet:"
{{ layui.util.timeAgo(d.time) }}
"}]],skin:"line"});var d={del:function(e,t){var a=l[t],d=i.checkStatus(a.id),s=d.data;return 0===s.length?layer.msg("未选中行"):void layer.confirm("确定删除选中的数据吗?",function(){layer.msg("删除成功",{icon:1}),i.reload(a.id)})},ready:function(e,t){var a=l[t],d=i.checkStatus(a.id),s=d.data;return 0===s.length?layer.msg("未选中行"):(layer.msg("标记已读成功",{icon:1}),void i.reload(a.id))},readyAll:function(e,t){var i=l[t];layer.msg(i.text+":全部已读",{icon:1})}};t(".LAY-app-message-btns .layui-btn").on("click",function(){var e=t(this),i=e.data("events"),l=e.data("type");d[i]&&d[i].call(this,e,l)}),e("message",{})}); -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/modules/set.js: -------------------------------------------------------------------------------- 1 | /** layuiAdmin.std-v1.0.0 LPPL License By http://www.layui.com/admin/ */ 2 | ;layui.define(["form","upload"],function(t){var i=layui.$,e=layui.layer,a=(layui.laytpl,layui.setter,layui.view,layui.admin),n=layui.form,s=layui.upload;i("body");n.verify({nickname:function(t,i){return new RegExp("^[a-zA-Z0-9_一-龥\\s·]+$").test(t)?/(^\_)|(\__)|(\_+$)/.test(t)?"用户名首尾不能出现下划线'_'":/^\d+\d+\d$/.test(t)?"用户名不能全为数字":void 0:"用户名不能有特殊字符"},pass:[/^[\S]{6,12}$/,"密码必须6到12位,且不能出现空格"],repass:function(t){if(t!==i("#LAY_password").val())return"两次密码输入不一致"}}),n.on("submit(set_website)",function(t){return e.msg(JSON.stringify(t.field)),!1}),n.on("submit(set_system_email)",function(t){return e.msg(JSON.stringify(t.field)),!1}),n.on("submit(setmyinfo)",function(t){return e.msg(JSON.stringify(t.field)),!1});var r=i("#LAY_avatarSrc");s.render({url:"/api/upload/",elem:"#LAY_avatarUpload",done:function(t){0==t.status?r.val(t.url):e.msg(t.msg,{icon:5})}}),a.events.avartatPreview=function(t){var i=r.val();e.photos({photos:{title:"查看头像",data:[{src:i}]},shade:.01,closeBtn:1,anim:5})},n.on("submit(setmypass)",function(t){return e.msg(JSON.stringify(t.field)),!1}),t("set",{})}); -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/modules/workorder.js: -------------------------------------------------------------------------------- 1 | /** layuiAdmin.std-v1.0.0 LPPL License By http://www.layui.com/admin/ */ 2 | ;layui.define(["table","form","element"],function(e){var t=layui.$,i=layui.table,r=(layui.form,layui.element);i.render({elem:"#LAY-app-system-order",url:layui.setter.base+"json/workorder/demo.js",cols:[[{type:"numbers",fixed:"left"},{field:"orderid",width:100,title:"工单号",sort:!0},{field:"attr",width:100,title:"业务性质"},{field:"title",width:100,title:"工单标题",width:300},{field:"progress",title:"进度",width:200,align:"center",templet:"#progressTpl"},{field:"submit",width:100,title:"提交者"},{field:"accept",width:100,title:"受理人员"},{field:"state",title:"工单状态",templet:"#buttonTpl",minWidth:80,align:"center"},{title:"操作",align:"center",fixed:"right",toolbar:"#table-system-order"}]],page:!0,limit:10,limits:[10,15,20,25,30],text:"对不起,加载出现异常!",done:function(){r.render("progress")}}),i.on("tool(LAY-app-system-order)",function(e){e.data;if("edit"===e.event){t(e.tr);layer.open({type:2,title:"编辑工单",content:"../../../views/app/workorder/listform.html",area:["450px","450px"],btn:["确定","取消"],yes:function(e,t){var r=window["layui-layer-iframe"+e],l="LAY-app-workorder-submit",o=t.find("iframe").contents().find("#"+l);r.layui.form.on("submit("+l+")",function(t){t.field;i.reload("LAY-user-front-submit"),layer.close(e)}),o.trigger("click")},success:function(e,t){}})}}),e("workorder",{})}); -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/style/login.css: -------------------------------------------------------------------------------- 1 | /** layuiAdmin.std-v1.0.0 LPPL License By http://www.layui.com/admin/ */ 2 | #LAY_app,body,html{height:100%}.layui-layout-body{overflow:auto}#LAY-user-login,.layadmin-user-display-show{display:block!important}.layadmin-user-login{position:relative;left:0;top:0;padding:110px 0;min-height:100%;box-sizing:border-box}.layadmin-user-login-main{width:375px;margin:0 auto;box-sizing:border-box}.layadmin-user-login-box{padding:20px}.layadmin-user-login-header{text-align:center}.layadmin-user-login-header h2{margin-bottom:10px;font-weight:300;font-size:30px;color:#000}.layadmin-user-login-header p{font-weight:300;color:#999}.layadmin-user-login-body .layui-form-item{position:relative}.layadmin-user-login-icon{position:absolute;left:1px;top:1px;width:38px;line-height:36px;text-align:center;color:#d2d2d2}.layadmin-user-login-body .layui-form-item .layui-input{padding-left:38px}.layadmin-user-login-codeimg{max-height:38px;width:100%;cursor:pointer;box-sizing:border-box}.layadmin-user-login-other{position:relative;font-size:0;line-height:38px;padding-top:20px}.layadmin-user-login-other>*{display:inline-block;vertical-align:middle;margin-right:10px;font-size:14px}.layadmin-user-login-other .layui-icon{position:relative;top:2px;font-size:26px}.layadmin-user-login-other a:hover{opacity:.8}.layadmin-user-jump-change{float:right}.layadmin-user-login-footer{position:absolute;left:0;bottom:0;width:100%;line-height:30px;padding:20px;text-align:center;box-sizing:border-box;color:rgba(0,0,0,.5)}.layadmin-user-login-footer span{padding:0 5px}.layadmin-user-login-footer a{padding:0 5px;color:rgba(0,0,0,.5)}.layadmin-user-login-footer a:hover{color:rgba(0,0,0,1)}.layadmin-user-login-main[bgimg]{background-color:#fff;box-shadow:0 0 5px rgba(0,0,0,.05)}.ladmin-user-login-theme{position:fixed;bottom:0;left:0;width:100%;text-align:center}.ladmin-user-login-theme ul{display:inline-block;padding:5px;background-color:#fff}.ladmin-user-login-theme ul li{display:inline-block;vertical-align:top;width:64px;height:43px;cursor:pointer;transition:all .3s;-webkit-transition:all .3s;background-color:#f2f2f2}.ladmin-user-login-theme ul li:hover{opacity:.9}@media screen and (max-width:768px){.layadmin-user-login{padding-top:60px}.layadmin-user-login-main{width:300px}.layadmin-user-login-box{padding:10px}} -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/style/res/layui-logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/style/res/layui-logo.jpg -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/style/res/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/style/res/logo.png -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/style/res/template/character.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/style/res/template/character.jpg -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/style/res/template/huge.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/style/res/template/huge.jpg -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/style/res/template/portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/admin/layuiadmin/style/res/template/portrait.png -------------------------------------------------------------------------------- /public/static/admin/layuiadmin/tpl/system/about.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
版本信息
4 |
14 | 15 |
关于版权
16 |
17 | 18 |
19 | layuiAdmin 受国家计算机软件著作权保护(登记号:2018SR410669),未经官网正规渠道授权擅自公开产品源文件、以及直接对产品二次出售的,我们将保留追究法律责任的权利。 20 |
21 |

© 2018 layui.com 版权所有

22 |
-------------------------------------------------------------------------------- /public/static/admin/layuiadmin/tpl/system/theme.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 29 | 30 | 45 | -------------------------------------------------------------------------------- /public/static/home/layui/css/modules/code.css: -------------------------------------------------------------------------------- 1 | /** layui-v2.3.0 MIT License By https://www.layui.com */ 2 | html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #e2e2e2;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:32px;line-height:32px;border-bottom:1px solid #e2e2e2}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none} -------------------------------------------------------------------------------- /public/static/home/layui/css/modules/layer/default/icon-ext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/css/modules/layer/default/icon-ext.png -------------------------------------------------------------------------------- /public/static/home/layui/css/modules/layer/default/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/css/modules/layer/default/icon.png -------------------------------------------------------------------------------- /public/static/home/layui/css/modules/layer/default/loading-0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/css/modules/layer/default/loading-0.gif -------------------------------------------------------------------------------- /public/static/home/layui/css/modules/layer/default/loading-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/css/modules/layer/default/loading-1.gif -------------------------------------------------------------------------------- /public/static/home/layui/css/modules/layer/default/loading-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/css/modules/layer/default/loading-2.gif -------------------------------------------------------------------------------- /public/static/home/layui/font/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/font/iconfont.eot -------------------------------------------------------------------------------- /public/static/home/layui/font/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/font/iconfont.ttf -------------------------------------------------------------------------------- /public/static/home/layui/font/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/font/iconfont.woff -------------------------------------------------------------------------------- /public/static/home/layui/images/face/0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/0.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/1.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/10.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/10.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/11.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/11.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/12.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/12.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/13.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/13.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/14.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/14.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/15.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/15.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/16.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/17.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/17.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/18.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/18.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/19.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/19.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/2.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/20.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/20.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/21.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/21.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/22.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/22.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/23.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/23.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/24.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/24.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/25.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/25.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/26.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/26.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/27.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/27.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/28.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/28.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/29.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/29.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/3.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/30.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/30.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/31.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/31.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/32.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/33.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/33.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/34.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/34.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/35.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/35.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/36.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/36.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/37.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/37.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/38.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/38.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/39.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/39.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/4.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/40.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/40.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/41.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/41.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/42.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/42.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/43.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/43.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/44.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/44.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/45.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/45.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/46.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/46.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/47.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/47.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/48.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/48.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/49.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/49.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/5.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/50.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/50.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/51.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/51.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/52.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/52.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/53.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/53.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/54.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/54.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/55.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/55.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/56.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/56.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/57.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/57.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/58.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/58.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/59.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/59.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/6.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/60.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/60.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/61.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/61.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/62.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/62.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/63.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/63.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/64.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/64.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/65.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/65.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/66.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/66.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/67.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/67.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/68.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/68.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/69.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/69.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/7.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/70.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/70.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/71.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/71.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/8.gif -------------------------------------------------------------------------------- /public/static/home/layui/images/face/9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/home/layui/images/face/9.gif -------------------------------------------------------------------------------- /public/static/home/layui/lay/modules/code.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.3.0 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var a=layui.$,l="http://www.layui.com/doc/modules/code.html";e("code",function(e){var t=[];e=e||{},e.elem=a(e.elem||".layui-code"),e.about=!("about"in e)||e.about,e.elem.each(function(){t.push(this)}),layui.each(t.reverse(),function(t,i){var c=a(i),o=c.html();(c.attr("lay-encode")||e.encode)&&(o=o.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")),c.html('
  1. '+o.replace(/[\r\t\n]+/g,"
  2. ")+"
"),c.find(">.layui-code-h3")[0]||c.prepend('

'+(c.attr("lay-title")||e.title||"code")+(e.about?'layui.code':"")+"

");var d=c.find(">.layui-code-ol");c.addClass("layui-box layui-code-view"),(c.attr("lay-skin")||e.skin)&&c.addClass("layui-code-"+(c.attr("lay-skin")||e.skin)),(d.find("li").length/100|0)>0&&d.css("margin-left",(d.find("li").length/100|0)+"px"),(c.attr("lay-height")||e.height)&&d.css("max-height",c.attr("lay-height")||e.height)})})}).addcss("modules/code.css","skincodecss"); -------------------------------------------------------------------------------- /public/static/home/layui/lay/modules/flow.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.3.0 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var l=layui.$,o=function(e){},t='';o.prototype.load=function(e){var o,i,n,r,a=this,c=0;e=e||{};var f=l(e.elem);if(f[0]){var m=l(e.scrollElem||document),u=e.mb||50,s=!("isAuto"in e)||e.isAuto,v=e.end||"没有更多了",y=e.scrollElem&&e.scrollElem!==document,d="加载更多",h=l('");f.find(".layui-flow-more")[0]||f.append(h);var p=function(e,t){e=l(e),h.before(e),t=0==t||null,t?h.html(v):h.find("a").html(d),i=t,o=null,n&&n()},g=function(){o=!0,h.find("a").html(t),"function"==typeof e.done&&e.done(++c,p)};if(g(),h.find("a").on("click",function(){l(this);i||o||g()}),e.isLazyimg)var n=a.lazyimg({elem:e.elem+" img",scrollElem:e.scrollElem});return s?(m.on("scroll",function(){var e=l(this),t=e.scrollTop();r&&clearTimeout(r),i||(r=setTimeout(function(){var i=y?e.height():l(window).height(),n=y?e.prop("scrollHeight"):document.documentElement.scrollHeight;n-t-i<=u&&(o||g())},100))}),a):a}},o.prototype.lazyimg=function(e){var o,t=this,i=0;e=e||{};var n=l(e.scrollElem||document),r=e.elem||"img",a=e.scrollElem&&e.scrollElem!==document,c=function(e,l){var o=n.scrollTop(),r=o+l,c=a?function(){return e.offset().top-n.offset().top+o}():e.offset().top;if(c>=o&&c<=r&&!e.attr("src")){var m=e.attr("lay-src");layui.img(m,function(){var l=t.lazyimg.elem.eq(i);e.attr("src",m).removeAttr("lay-src"),l[0]&&f(l),i++})}},f=function(e,o){var f=a?(o||n).height():l(window).height(),m=n.scrollTop(),u=m+f;if(t.lazyimg.elem=l(r),e)c(e,f);else for(var s=0;su)break}};if(f(),!o){var m;n.on("scroll",function(){var e=l(this);m&&clearTimeout(m),m=setTimeout(function(){f(null,e)},50)}),o=!0}return f},e("flow",new o)}); -------------------------------------------------------------------------------- /public/static/home/layui/lay/modules/laytpl.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.3.0 MIT License By https://www.layui.com */ 2 | ;layui.define(function(e){"use strict";var r={open:"{{",close:"}}"},c={exp:function(e){return new RegExp(e,"g")},query:function(e,c,t){var o=["#([\\s\\S])+?","([^{#}])*?"][e||0];return n((c||"")+r.open+o+r.close+(t||""))},escape:function(e){return String(e||"").replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")},error:function(e,r){var c="Laytpl Error:";return"object"==typeof console&&console.error(c+e+"\n"+(r||"")),c+e}},n=c.exp,t=function(e){this.tpl=e};t.pt=t.prototype,window.errors=0,t.pt.parse=function(e,t){var o=this,p=e,a=n("^"+r.open+"#",""),l=n(r.close+"$","");e=e.replace(/\s+|\r|\t|\n/g," ").replace(n(r.open+"#"),r.open+"# ").replace(n(r.close+"}"),"} "+r.close).replace(/\\/g,"\\\\").replace(n(r.open+"!(.+?)!"+r.close),function(e){return e=e.replace(n("^"+r.open+"!"),"").replace(n("!"+r.close),"").replace(n(r.open+"|"+r.close),function(e){return e.replace(/(.)/g,"\\$1")})}).replace(/(?="|')/g,"\\").replace(c.query(),function(e){return e=e.replace(a,"").replace(l,""),'";'+e.replace(/\\/g,"")+';view+="'}).replace(c.query(1),function(e){var c='"+(';return e.replace(/\s/g,"")===r.open+r.close?"":(e=e.replace(n(r.open+"|"+r.close),""),/^=/.test(e)&&(e=e.replace(/^=/,""),c='"+_escape_('),c+e.replace(/\\/g,"")+')+"')}),e='"use strict";var view = "'+e+'";return view;';try{return o.cache=e=new Function("d, _escape_",e),e(t,c.escape)}catch(u){return delete o.cache,c.error(u,p)}},t.pt.render=function(e,r){var n,t=this;return e?(n=t.cache?t.cache(e,c.escape):t.parse(t.tpl,e),r?void r(n):n):c.error("no data")};var o=function(e){return"string"!=typeof e?c.error("Template not found"):new t(e)};o.config=function(e){e=e||{};for(var c in e)r[c]=e[c]},o.v="1.2.0",e("laytpl",o)}); -------------------------------------------------------------------------------- /public/static/home/layui/lay/modules/rate.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.3.0 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var a=layui.jquery,i={config:{},index:layui.rate?layui.rate.index+1e4:0,set:function(e){var i=this;return i.config=a.extend({},i.config,e),i},on:function(e,a){return layui.onevent.call(this,n,e,a)}},l=function(){var e=this,a=e.config;return{setvalue:function(a){e.setvalue.call(e,a)},config:a}},n="rate",t="layui-rate",o="layui-icon-rate",s="layui-icon-rate-solid",u="layui-icon-rate-half",r="layui-icon-rate-solid layui-icon-rate-half",c="layui-icon-rate-solid layui-icon-rate",f="layui-icon-rate layui-icon-rate-half",v=function(e){var l=this;l.index=++i.index,l.config=a.extend({},l.config,i.config,e),l.render()};v.prototype.config={length:5,text:!1,readonly:!1,half:!1,value:0,theme:""},v.prototype.render=function(){var e=this,i=e.config,l=i.theme?'style="color: '+i.theme+';"':"";i.elem=a(i.elem),parseInt(i.value)!==i.value&&(i.half||(i.value=Math.ceil(i.value)-i.value<.5?Math.ceil(i.value):Math.floor(i.value)));for(var n='
    ",u=1;u<=i.length;u++){var r='
  • ";i.half&&parseInt(i.value)!==i.value&&u==Math.ceil(i.value)?n=n+'
  • ":n+=r}n+="
"+(i.text?''+i.value+"星":"")+"";var c=i.elem,f=c.next("."+t);f[0]&&f.remove(),e.elemTemp=a(n),i.span=e.elemTemp.next("span"),i.setText&&i.setText(i.value),c.html(e.elemTemp),c.addClass("layui-inline"),i.readonly||e.action()},v.prototype.setvalue=function(e){var a=this,i=a.config;i.value=e,a.render()},v.prototype.action=function(){var e=this,i=e.config,l=e.elemTemp,n=l.find("i").width();l.children("li").each(function(e){var t=e+1,v=a(this);v.on("click",function(e){if(i.value=t,i.half){var o=e.pageX-a(this).offset().left;o<=n/2&&(i.value=i.value-.5)}i.text&&l.next("span").text(i.value+"星"),i.choose&&i.choose(i.value),i.setText&&i.setText(i.value)}),v.on("mousemove",function(e){if(l.find("i").each(function(){a(this).addClass(o).removeClass(r)}),l.find("i:lt("+t+")").each(function(){a(this).addClass(s).removeClass(f)}),i.half){var c=e.pageX-a(this).offset().left;c<=n/2&&v.children("i").addClass(u).removeClass(s)}}),v.on("mouseleave",function(){l.find("i").each(function(){a(this).addClass(o).removeClass(r)}),l.find("i:lt("+Math.floor(i.value)+")").each(function(){a(this).addClass(s).removeClass(f)}),i.half&&parseInt(i.value)!==i.value&&l.children("li:eq("+Math.floor(i.value)+")").children("i").addClass(u).removeClass(c)})})},v.prototype.events=function(){var e=this;e.config},i.render=function(e){var a=new v(e);return l.call(a)},e(n,i)}); -------------------------------------------------------------------------------- /public/static/home/layui/lay/modules/tree.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.3.0 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var o=layui.$,a=layui.hint(),i="layui-tree-enter",r=function(e){this.options=e},t={arrow:["",""],checkbox:["",""],radio:["",""],branch:["",""],leaf:""};r.prototype.init=function(e){var o=this;e.addClass("layui-box layui-tree"),o.options.skin&&e.addClass("layui-tree-skin-"+o.options.skin),o.tree(e),o.on(e)},r.prototype.tree=function(e,a){var i=this,r=i.options,n=a||r.nodes;layui.each(n,function(a,n){var l=n.children&&n.children.length>0,c=o('
    '),s=o(["
  • ",function(){return l?''+(n.spread?t.arrow[1]:t.arrow[0])+"":""}(),function(){return r.check?''+("checkbox"===r.check?t.checkbox[0]:"radio"===r.check?t.radio[0]:"")+"":""}(),function(){return'"+(''+(l?n.spread?t.branch[1]:t.branch[0]:t.leaf)+"")+(""+(n.name||"未命名")+"")}(),"
  • "].join(""));l&&(s.append(c),i.tree(c,n.children)),e.append(s),"function"==typeof r.click&&i.click(s,n),i.spread(s,n),r.drag&&i.drag(s,n)})},r.prototype.click=function(e,o){var a=this,i=a.options;e.children("a").on("click",function(e){layui.stope(e),i.click(o)})},r.prototype.spread=function(e,o){var a=this,i=(a.options,e.children(".layui-tree-spread")),r=e.children("ul"),n=e.children("a"),l=function(){e.data("spread")?(e.data("spread",null),r.removeClass("layui-show"),i.html(t.arrow[0]),n.find(".layui-icon").html(t.branch[0])):(e.data("spread",!0),r.addClass("layui-show"),i.html(t.arrow[1]),n.find(".layui-icon").html(t.branch[1]))};r[0]&&(i.on("click",l),n.on("dblclick",l))},r.prototype.on=function(e){var a=this,r=a.options,t="layui-tree-drag";e.find("i").on("selectstart",function(e){return!1}),r.drag&&o(document).on("mousemove",function(e){var i=a.move;if(i.from){var r=(i.to,o('
    '));e.preventDefault(),o("."+t)[0]||o("body").append(r);var n=o("."+t)[0]?o("."+t):r;n.addClass("layui-show").html(i.from.elem.children("a").html()),n.css({left:e.pageX+10,top:e.pageY+10})}}).on("mouseup",function(){var e=a.move;e.from&&(e.from.elem.children("a").removeClass(i),e.to&&e.to.elem.children("a").removeClass(i),a.move={},o("."+t).remove())})},r.prototype.move={},r.prototype.drag=function(e,a){var r=this,t=(r.options,e.children("a")),n=function(){var t=o(this),n=r.move;n.from&&(n.to={item:a,elem:e},t.addClass(i))};t.on("mousedown",function(){var o=r.move;o.from={item:a,elem:e}}),t.on("mouseenter",n).on("mousemove",n).on("mouseleave",function(){var e=o(this),a=r.move;a.from&&(delete a.to,e.removeClass(i))})},e("tree",function(e){var i=new r(e=e||{}),t=o(e.elem);return t[0]?void i.init(t):a.error("layui.tree 没有找到"+e.elem+"元素")})}); -------------------------------------------------------------------------------- /public/static/home/layui/lay/modules/util.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.3.0 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var t=layui.$,i={fixbar:function(e){var i,a,o="layui-fixbar",r="layui-fixbar-top",l=t(document),n=t("body");e=t.extend({showHeight:200},e),e.bar1=e.bar1===!0?"":e.bar1,e.bar2=e.bar2===!0?"":e.bar2,e.bgcolor=e.bgcolor?"background-color:"+e.bgcolor:"";var c=[e.bar1,e.bar2,""],g=t(['
      ',e.bar1?'
    • '+c[0]+"
    • ":"",e.bar2?'
    • '+c[1]+"
    • ":"",'
    • '+c[2]+"
    • ","
    "].join("")),u=g.find("."+r),s=function(){var t=l.scrollTop();t>=e.showHeight?i||(u.show(),i=1):i&&(u.hide(),i=0)};t("."+o)[0]||("object"==typeof e.css&&g.css(e.css),n.append(g),s(),g.find("li").on("click",function(){var i=t(this),a=i.attr("lay-type");"top"===a&&t("html,body").animate({scrollTop:0},200),e.click&&e.click.call(this,a)}),l.on("scroll",function(){clearTimeout(a),a=setTimeout(function(){s()},100)}))},countdown:function(e,t,i){var a=this,o="function"==typeof t,r=new Date(e).getTime(),l=new Date(!t||o?(new Date).getTime():t).getTime(),n=r-l,c=[Math.floor(n/864e5),Math.floor(n/36e5)%24,Math.floor(n/6e4)%60,Math.floor(n/1e3)%60];o&&(i=t);var g=setTimeout(function(){a.countdown(e,l+1e3,i)},1e3);return i&&i(n>0?c:[0,0,0,0],t,g),n<=0&&clearTimeout(g),g},timeAgo:function(e,t){var i=this,a=[[],[]],o=(new Date).getTime()-new Date(e).getTime();return o>6912e5?(o=new Date(e),a[0][0]=i.digit(o.getFullYear(),4),a[0][1]=i.digit(o.getMonth()+1),a[0][2]=i.digit(o.getDate()),t||(a[1][0]=i.digit(o.getHours()),a[1][1]=i.digit(o.getMinutes()),a[1][2]=i.digit(o.getSeconds())),a[0].join("-")+" "+a[1].join(":")):o>=864e5?(o/1e3/60/60/24|0)+"天前":o>=36e5?(o/1e3/60/60|0)+"小时前":o>=12e4?(o/1e3/60|0)+"分钟前":o<0?"未来":"刚刚"},digit:function(e,t){var i="";e=String(e),t=t||2;for(var a=e.length;a/g,">").replace(/'/g,"'").replace(/"/g,""")}};e("util",i)}); -------------------------------------------------------------------------------- /public/static/plugins/font-awesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/plugins/font-awesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /public/static/plugins/font-awesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/plugins/font-awesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /public/static/plugins/font-awesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/plugins/font-awesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /public/static/plugins/font-awesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/plugins/font-awesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /public/static/plugins/font-awesome/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/plugins/font-awesome/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /public/static/plugins/formbuilder/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/plugins/formbuilder/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /public/static/plugins/formbuilder/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/plugins/formbuilder/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /public/static/plugins/formbuilder/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/plugins/formbuilder/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /public/static/plugins/formbuilder/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArrowJustDoIt/laravel-workflow/ac0b0eb6369bba36730921b622d44fe522a78bf7/public/static/plugins/formbuilder/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /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 | window.Popper = require('popper.js').default; 4 | 5 | /** 6 | * We'll load jQuery and the Bootstrap jQuery plugin which provides support 7 | * for JavaScript based Bootstrap features such as modals and tabs. This 8 | * code may be modified to fit the specific needs of your application. 9 | */ 10 | 11 | try { 12 | window.$ = window.jQuery = require('jquery'); 13 | 14 | require('bootstrap'); 15 | } catch (e) {} 16 | 17 | /** 18 | * We'll load the axios HTTP library which allows us to easily issue requests 19 | * to our Laravel back-end. This library automatically handles sending the 20 | * CSRF token as a header based on the value of the "XSRF" token cookie. 21 | */ 22 | 23 | window.axios = require('axios'); 24 | 25 | window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; 26 | 27 | /** 28 | * Next we will register the CSRF Token as a common header with Axios so that 29 | * all outgoing HTTP requests automatically have it attached. This is just 30 | * a simple convenience so we don't have to attach every token manually. 31 | */ 32 | 33 | let token = document.head.querySelector('meta[name="csrf-token"]'); 34 | 35 | if (token) { 36 | window.axios.defaults.headers.common['X-CSRF-TOKEN'] = token.content; 37 | } else { 38 | console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token'); 39 | } 40 | 41 | /** 42 | * Echo exposes an expressive API for subscribing to channels and listening 43 | * for events that are broadcast by Laravel. Echo and event broadcasting 44 | * allows your team to easily build robust real-time web applications. 45 | */ 46 | 47 | // import Echo from 'laravel-echo' 48 | 49 | // window.Pusher = require('pusher-js'); 50 | 51 | // window.Echo = new Echo({ 52 | // broadcaster: 'pusher', 53 | // key: process.env.MIX_PUSHER_APP_KEY, 54 | // cluster: process.env.MIX_PUSHER_APP_CLUSTER, 55 | // encrypted: true 56 | // }); 57 | -------------------------------------------------------------------------------- /resources/assets/js/components/ExampleComponent.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | 24 | -------------------------------------------------------------------------------- /resources/assets/sass/_variables.scss: -------------------------------------------------------------------------------- 1 | 2 | // Body 3 | $body-bg: #f8fafc; 4 | 5 | // Typography 6 | $font-family-sans-serif: "Nunito", sans-serif; 7 | $font-size-base: 0.9rem; 8 | $line-height-base: 1.6; 9 | 10 | // Colors 11 | $blue: #3490dc; 12 | $indigo: #6574cd; 13 | $purple: #9561e2; 14 | $pink: #f66D9b; 15 | $red: #e3342f; 16 | $orange: #f6993f; 17 | $yellow: #ffed4a; 18 | $green: #38c172; 19 | $teal: #4dc0b5; 20 | $cyan: #6cb2eb; 21 | -------------------------------------------------------------------------------- /resources/assets/sass/app.scss: -------------------------------------------------------------------------------- 1 | 2 | // Fonts 3 | @import url('https://fonts.googleapis.com/css?family=Nunito'); 4 | 5 | // Variables 6 | @import 'variables'; 7 | 8 | // Bootstrap 9 | @import '~bootstrap/scss/bootstrap'; 10 | 11 | .navbar-laravel { 12 | background-color: #fff; 13 | box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04); 14 | } 15 | -------------------------------------------------------------------------------- /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/Approval/create.blade.php: -------------------------------------------------------------------------------- 1 | @extends('base') 2 | 3 | @section('content') 4 |
    5 |
    6 |
    7 | {{csrf_field()}} 8 | 9 |
    10 | 11 |
    12 | 13 |
    14 |
    15 |
    16 | 17 |
    18 | 19 |
    20 |
    21 | {!! $html !!} 22 |
    23 |
    24 | 25 | 26 |
    27 |
    28 |
    29 |
    30 |
    31 | 32 | @endsection 33 | @section('script') 34 | 46 | @endsection -------------------------------------------------------------------------------- /resources/views/Approval/edit.blade.php: -------------------------------------------------------------------------------- 1 | @extends('base') 2 | @section('content') 3 |
    4 |
    5 |
    6 |
    7 | {{ method_field('put') }} 8 | {{csrf_field()}} 9 | 10 |
    11 | 12 |
    13 | 14 |
    15 |
    16 |
    17 | 18 |
    19 | 20 |
    21 |
    22 |
    23 | 24 |
    25 | 26 |
    27 |
    28 | {!! $html !!} 29 |
    30 |
    31 | 32 | 33 |
    34 |
    35 |
    36 |
    37 |
    38 |
    39 | 40 | @endsection 41 | @section('script') 42 | 54 | @endsection 55 | -------------------------------------------------------------------------------- /resources/views/Approval/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('base') 2 | 3 | @section('content') 4 |
    5 | 6 |
    7 |
    8 | 9 |
    10 | 11 |
    12 |
    13 |
    14 | 15 |
    16 |
    17 |
    18 | 审批列表 19 |
    20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | @foreach($workflowRes as $vo) 32 | 33 | 34 | 35 | 36 | 39 | 40 | @endforeach 41 | 42 |
    id名称描述操作
    {{$vo['id']}}{{$vo['flow_name']}}{{$vo['flow_desc']}} 37 | 发起审批 38 |
    43 | 44 | {{ $workflowRes->links() }} 45 |
    46 | 47 | @endsection 48 | -------------------------------------------------------------------------------- /resources/views/Design/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('base') 2 | 3 | @section('css') 4 | 5 | 6 | 32 | @endsection 33 | @section("content") 34 |
    35 |
    36 |
    37 | 38 | 39 | @endsection 40 | @section("script") 41 | 42 | 43 | 80 | @endsection -------------------------------------------------------------------------------- /resources/views/Design/show.blade.php: -------------------------------------------------------------------------------- 1 | @extends('base') 2 | 3 | @section("content") 4 |
    5 |
    6 |
    7 |
    8 | {!! $html !!} 9 |
    10 |
    11 |
    12 |
    13 | @endsection -------------------------------------------------------------------------------- /resources/views/workflow/create.blade.php: -------------------------------------------------------------------------------- 1 | @extends('base') 2 | 3 | @section('content') 4 |
    5 |
    6 |
    7 | 添加审批流 8 |
    9 |
    10 | {{csrf_field()}} 11 |
    12 | 13 |
    14 | 15 |
    16 |
    17 |
    18 | 19 |
    20 | 21 |
    22 |
    23 |
    24 | 25 |
    26 | 27 |
    28 |
    29 |
    30 |
    31 | 32 | 33 |
    34 |
    35 |
    36 |
    37 |
    38 | @endsection 39 | 40 | @section('script') 41 | 42 | @endsection 43 | -------------------------------------------------------------------------------- /resources/views/workflow/edit.blade.php: -------------------------------------------------------------------------------- 1 | @extends('base') 2 | 3 | @section('content') 4 |
    5 |
    6 |
    7 |
    8 | {{csrf_field()}} 9 | {{ method_field('put') }} 10 | 11 |
    12 | 13 |
    14 | 15 |
    16 |
    17 |
    18 | 19 |
    20 | 21 |
    22 |
    23 |
    24 | 25 |
    26 | 27 |
    28 |
    29 |
    30 |
    31 | 32 | 33 |
    34 |
    35 |
    36 |
    37 |
    38 |
    39 | 40 | @endsection -------------------------------------------------------------------------------- /routes/admin.php: -------------------------------------------------------------------------------- 1 | name('admin.layout'); 11 | Route::group(['namespace'=>'Admin','prefix'=>'admin'],function (){ 12 | //登录 13 | Route::get('/login','IndexController@login')->name('admin.login')->middleware('web'); 14 | //审批工作流管理 15 | Route::resource('/workflows', 'WorkflowController'); 16 | Route::get('/workflow/design', 'WorkflowController@design')->name('workflows.design'); 17 | Route::get('/workflow/designShow', 'WorkflowController@designShow')->name('workflows.designShow'); 18 | 19 | //表单设计管理 20 | Route::resource('/designs','DesignController',['only' => [ 21 | 'index','show' 22 | ]]); 23 | 24 | //节点管理 25 | Route::resource('/process','ProcessController',['only' => [ 26 | 'index', 'store' 27 | ]]); 28 | 29 | //审批管理 30 | Route::resource('/approvals','ApprovalController')->middleware(['checkauth','web']); 31 | Route::get('/approval/lists','ApprovalController@lists')->middleware('checkauth')->name('approvals.lists'); 32 | 33 | //待我审批 34 | Route::resource('/applys','ApplyController',['only' => [ 35 | 'index' 36 | ]])->middleware(['checkauth','web']); 37 | }); 38 | 39 | 40 | -------------------------------------------------------------------------------- /routes/api.php: -------------------------------------------------------------------------------- 1 | get('/user', function (Request $request) { 17 | return $request->user(); 18 | }); 19 | Route::post('/design/store', ['as' => 'designs.store', 'uses' => 'admin\DesignController@store']); 20 | Route::post('/workflow/change', ['as' => 'workflows.change', 'uses' => 'admin\WorkflowController@change']); 21 | 22 | // 23 | -------------------------------------------------------------------------------- /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 | 'approvals.rollback', 'uses' => 'admin\ApprovalController@rollback']); 14 | Route::post('/apply/judge',['as' => 'applys.judge', 'uses' => 'admin\ApplyController@judge']); 15 | -------------------------------------------------------------------------------- /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(); 19 | 20 | return $app; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /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 | --------------------------------------------------------------------------------