| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251 |
- <!DOCTYPE html>
- <html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <link rel="icon" href="{{asset('icon/faviconc.ico')}}" type="image/x-icon"/>
- <!-- CSRF Token -->
- <meta name="csrf-token" content="{{ csrf_token() }}">
- <title>@yield('title') 宝时 SWAS</title>
- @yield('head')
- <!-- Styles -->
- <link href="{{ mix('css/app.css') }}" rel="stylesheet">
- </head>
- <body>
- <div id="app">
- <nav class="navbar navbar-expand-md navbar-light bg-white shadow-sm">
- <div class="container-fluid">
- <a class="navbar-brand" href="{{ url('/control/panel/menu') }}" title="宝时 Warehouse Assistance System" style="vertical-align: text-bottom">
- <img src="{{asset('images/login/loglogo.png')}}" alt="宝时 Warehouse Assistance System" height="30" >
- </a>
- <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="{{ __('Toggle navigation') }}">
- <span class="navbar-toggler-icon"></span>
- </button>
- @component('layouts.menu')@endcomponent
- </div>
- </nav>
- <div id="menu"></div>
- @auth
- @component('demand._create')@endcomponent
- @endauth
- @yield('content')
- <hr>
- </div>
- </body>
- <!-- Scripts -->
- @yield('script')
- {{-- 必须在app.js前边--}}
- <script type="text/javascript">
- let menus = localStorage.getItem("menus");
- if (menus===null && "{{\Illuminate\Support\Facades\Auth::id()}}")menus = getMenu();
- let menuList = menus ? JSON.parse(menus) : {};
- let baseUrl = "{{url('')}}";
- let currentUri = window.location.href.slice(baseUrl.length+1);
- let relativeUrl = currentUri.split(/[/?]/);
- let lastAuthority;
- (function () {
- if ("{{\Illuminate\Support\Facades\Auth::id()}}")createMenu();
- }());
- function createMenu(type = 1,menus=menuList) {
- return new Promise(function () {
- let dom = createBeforeMenu(type);
- for (let i=0;i<menus.length;i++){
- if (!menus[i].route)continue;
- let uri = menus[i].route.split(/[/?]/);
- let isEquals = uri[type-1]===relativeUrl[type-1];
- if (uri[type-1]==='*'){
- if (uri[type]===relativeUrl[type]){
- isEquals=true;
- menus[i].route = currentUri;
- }
- else continue;
- }
- dom.appendChild(createChildElement(type,menus[i],isEquals));
- if (isEquals)lastAuthority = menus[i].authId;
- if (isEquals && menus[i].child && menus[i].child.length>0)createMenu(type+1,menus[i].child);
- }
- });
- }
- function createBeforeMenu(type) {
- let dom = undefined;
- let ul = undefined;
- switch (type) {
- case 2:
- dom = document.createElement("div");
- dom.className="container-fluid nav2";
- let div = document.createElement("div");
- div.className="card";
- ul = document.createElement("ul");
- ul.className="nav nav-pills";
- div.appendChild(ul);
- dom.appendChild(div);
- document.getElementById("menu").appendChild(dom);
- return ul;
- case 3:
- dom = document.createElement("div");
- dom.className="container-fluid nav3";
- let dom2 = document.createElement("div");
- dom2.className = "card menu-third";
- let dom3 = document.createElement("ul");
- dom3.className="nav nav-pills";
- dom2.appendChild(dom3);
- dom.appendChild(dom2);
- document.getElementById("menu").appendChild(dom);
- return dom3;
- case 4:
- dom = document.createElement("div");
- dom.className="container-fluid nav3";
- let card = document.createElement("div");
- card.className = "card menu-third";
- ul = document.createElement("ul");
- ul.className="nav nav-pills";
- card.appendChild(ul);
- dom.appendChild(card);
- document.getElementById("menu").appendChild(dom);
- return ul;
- default:
- dom = document.createElement("ul");
- dom.className = "navbar-nav mr-auto nav-tabs nav font-weight-bold";
- dom.style.paddingTop = "10px";
- document.getElementById("mainMenu").appendChild(dom);
- return dom;
- }
- }
- function createChildElement(type,menu,isEquals) {
- let li = document.createElement("li");
- let a = document.createElement("a");
- li.className="nav-item";
- a.href = baseUrl+'/'+menu.route;
- a.className = "nav-link";
- if (isEquals)a.className += " active";
- a.target = menu.route;
- switch (type) {
- case 2:
- a.innerText = menu.name;
- break;
- case 3:
- a.innerText = menu.name;
- break;
- default:
- if (menu.font){
- let span = document.createElement("span");
- span.className = 'fa '+menu.font;
- span.style.cssText = menu.fontStyle;
- a.appendChild(span);
- }
- a.appendChild(document.createTextNode(menu.name));
- break;
- }
- li.appendChild(a);
- a.onclick = function (){
- return true;
- };
- return li;
- }
- function getMenu() {
- let xhr = new XMLHttpRequest();
- let url = "{{url('getMenu')}}";
- xhr.open('POST', url, false);
- xhr.setRequestHeader('Content-Type', 'application/json');
- xhr.setRequestHeader('X-CSRF-Token', "{{ csrf_token() }}");
- xhr.send('');
- return xhr.responseText;
- }
- </script>
- <script src="{{ mix('js/app.js') }}"></script>
- <script>
- let isActive=function (name,atSlashLevel) {
- let uriWithNoParam=location.href.split('?')[0];
- let uriParts=uriWithNoParam.split('//')[1].split('/');
- if(!name){
- return uriParts.length===atSlashLevel;
- }
- if(atSlashLevel>uriParts.length||!atSlashLevel)return false;
- return uriParts[atSlashLevel]===name;
- };
- /*new Vue({
- el:'#nav1',
- methods:{
- isActive:isActive,
- }
- });*/
- if($('#nav2').length>0)
- new Vue({
- el:'#nav2',
- methods:{
- isActive:isActive,
- }
- });
- </script>
- <script>
- //后退则刷新页面
- let currentPageUuid=function (){
- let maxPagesOpening = 60;
- let pageUuid="{{$pageUuid}}";
- let pageUuids=localStorage.getItem('pageUuids')
- if(!pageUuids)pageUuids=[];
- try{
- pageUuids=JSON.parse(pageUuids)
- }catch (error){pageUuids=[]}
- if(pageUuids.length>=maxPagesOpening)pageUuids.shift();
- pageUuids.push(pageUuid)
- localStorage.setItem('pageUuids',JSON.stringify(pageUuids))
- return pageUuid;
- }()
- window.addEventListener('pageshow', function(e) {
- let pageUuids=localStorage.getItem('pageUuids')
- if(!pageUuids)return;
- try{
- pageUuids=JSON.parse(pageUuids)
- }catch (error){return}
- let pageReturnedTimes=pageUuids.reduce(function(prev,cur){
- if(cur===currentPageUuid){
- if(!prev)return 1;
- return prev+1;
- }
- if(!prev)return 0;
- if(prev&&prev.length>5)return 0;
- return prev;
- })
- if(pageReturnedTimes>1){
- $('body').remove();
- $('html').append("<h5>刷新中……</h5>")
- location.reload();
- }
- });
- function resetPwd(){
- let old = document.getElementById("old_password").value;
- let pwd = document.getElementById("password").value;
- let pwdConfirmation = document.getElementById("password-confirm").value;
- window.tempTip.setDuration("3000");
- window.tempTip.setIndex(1099);
- if (!old || !pwd || !pwdConfirmation){
- window.tempTip.show("密码不得为空");
- return;
- }
- if (old.length<6 || pwd.length<6 || pwdConfirmation.length<6){
- window.tempTip.show("密码最低为6位");
- return;
- }
- if (old === pwd){
- window.tempTip.show("新密码不得与旧密码相同");
- return;
- }
- if (pwd !== pwdConfirmation){
- window.tempTip.show("新密码与确认密码不同");
- return;
- }
- window.tempTip.postBasicRequest("{{url('password/update')}}",{old:old,pwd:pwd,pwdConfirmation:pwdConfirmation},()=>{
- $("#resetPwd").modal('hide');
- return "密码已成功修改";
- },true)
- }
- </script>
- @component('demand._createjs')@endcomponent
- @yield('lastScript')
- </html>
|